WO2014178218A1 - 情報処理装置、無線通信システム、情報処理方法、及びプログラム - Google Patents

情報処理装置、無線通信システム、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2014178218A1
WO2014178218A1 PCT/JP2014/054369 JP2014054369W WO2014178218A1 WO 2014178218 A1 WO2014178218 A1 WO 2014178218A1 JP 2014054369 W JP2014054369 W JP 2014054369W WO 2014178218 A1 WO2014178218 A1 WO 2014178218A1
Authority
WO
WIPO (PCT)
Prior art keywords
user terminal
key
user
information
identification information
Prior art date
Application number
PCT/JP2014/054369
Other languages
English (en)
French (fr)
Inventor
雄仁 石田
健斗 鈴木
佐古 曜一郎
和之 迫田
広一郎 小野
竹原 充
國弘 卓志
赤木 真
Original Assignee
ソニー株式会社
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 ソニー株式会社 filed Critical ソニー株式会社
Priority to US14/786,502 priority Critical patent/US9992196B2/en
Publication of WO2014178218A1 publication Critical patent/WO2014178218A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]

Definitions

  • the present disclosure relates to an information processing device, a wireless communication system, an information processing method, and a program.
  • the present disclosure proposes a new and improved information processing apparatus, wireless communication system, information processing method, and storage medium that can easily and securely authenticate communication partners.
  • an acquisition unit that acquires first identification information for identifying another terminal, and information for authenticating each other between the own terminal and the other terminal are used as the first identification information.
  • a communication unit for transmitting to the other terminal identified based on the network service via the network service.
  • the first information processing apparatus and the second information processing apparatus that communicates wirelessly with the first information processing apparatus, includes: A first communication unit configured to transmit first identification information for identifying the first information processing apparatus to the second information processing apparatus, wherein the second information processing apparatus includes the first information processing apparatus; Information for authenticating each other between the acquisition unit for acquiring identification information and the second information processing apparatus and the first information processing apparatus is specified based on the first identification information.
  • a wireless communication system including a second communication unit that transmits to one information processing apparatus via the network service.
  • the first identification information for identifying the other terminal is acquired, and the information for authenticating each other between the own terminal and the other terminal is the first identification.
  • an information processing method comprising: transmitting to the other terminal specified based on information via the network service.
  • the step of obtaining first identification information for identifying another terminal in a computer, and information for authenticating each other between the own terminal and the other terminal And a step of transmitting via the network service to the other terminal specified based on one identification information.
  • a new and improved information processing apparatus As described above, according to the present disclosure, a new and improved information processing apparatus, a wireless communication system, an information processing method, and a storage medium capable of easily and securely authenticating communication partners are provided.
  • FIG. 2 is a diagram for describing a schematic configuration of a wireless communication system according to a first embodiment of the present disclosure.
  • FIG. It is a figure for demonstrating the communication between the user terminals which concern on the embodiment. It is the figure which showed an example of the schematic hardware constitutions of the user terminal which concerns on the same embodiment. It is the block diagram which showed the structure of the user terminal which concerns on the same embodiment. It is the figure which showed an example of the correlation between the user terminals on a network service. It is the figure which showed an example of owner information. It is the block diagram which showed the structure of the user terminal which concerns on the same embodiment. It is the figure which showed an example of the management data for managing an encryption key.
  • FIG. 3 is a diagram illustrating an example of a data structure of communication data for transmitting and receiving information in the wireless communication system according to the first embodiment of the present disclosure. It is the sequence diagram which showed an example of the communication processing sequence in the radio
  • FIG. 3 is a diagram for explaining a schematic operation of the wireless communication system according to the embodiment. It is the block diagram which showed the structure of the user terminal which concerns on the same embodiment. It is the block diagram which showed the structure of the user terminal which concerns on the same embodiment.
  • FIG. 1 is a diagram for explaining a schematic configuration of a wireless communication system according to the present embodiment.
  • the wireless communication system includes a server 50, a network service n0, and user terminals 10a and 10b.
  • Each of the user terminals 10a and 10b is a terminal (information processing apparatus) capable of wireless communication such as a smartphone.
  • the user terminal 10a is a terminal operated by the user ua
  • the user terminal 10b is a terminal operated by the user ub.
  • user terminal 10 when the user terminals 10a and 10b are not particularly distinguished, they may be simply referred to as “user terminal 10”.
  • the network service n0 is a network service provided by the server 50 on a network such as the Internet, and a specific example is a social networking service (SNS: Social Networking Service).
  • SNS Social Networking Service
  • the wireless communication system according to the present embodiment is connected to ensure security during communication when establishing a connection (interconnection) n10 (for example, an ad hoc network) between the user terminal 10a and the user terminal 10b. Providing a means to confirm that the other party is a reliable partner. Therefore, hereinafter, communication (interconnection) between user terminals 10 such as an ad hoc network will be briefly described, and the issues will be organized, and then the wireless communication system according to the present embodiment will be described.
  • a connection for example, an ad hoc network
  • FIG. 2 is a diagram for explaining communication between the user terminals 10 according to the embodiment.
  • the ad hoc network communicates between user terminals 10 by autonomously routing between adjacent user terminals 10 without depending on base stations and infrastructure such as a fixed network connecting the base stations. This is a technology that enables
  • the user terminal 10a and the user terminal 10b communicate, even if the user terminals 10a and 10b are not directly connected, the other user terminals 10 in the ad hoc network are relayed to communicate (That is, multi-hop communication) can be performed.
  • multi-hop communication For example, as shown in the example of FIG. 2, even when the user terminals 10b and 10d are not in a positional relationship that allows direct communication (for example, when radio waves do not reach directly), the user terminal interposed between the user terminals 10b and 10d 10a or 10c can act as a repeater.
  • Each user terminal 10 can appropriately participate in an already constructed ad hoc network by executing a predetermined procedure (process). For example, in the example shown in FIG. 2, it is assumed that the user terminals 10a to 10d construct an ad hoc network. At this time, the other user terminals 10e to 10h can participate in the ad hoc network formed by the user terminals 10a to 10d as shown in FIG. As a result of the user terminal 10 newly participating in an ad hoc network that has already been constructed in this way, the range that can be communicated via the ad hoc network is the range in which the newly joined user terminal 10 can communicate. Extended by minutes.
  • the user terminal 10f cannot directly access the ad hoc network formed by the user terminals 10a to 10d. Even in such a case, for example, when the user terminal 10e or 10g participates in the ad hoc network, the user terminal 10f can access the ad hoc network via the user terminal 10e or 10g.
  • the present embodiment proposes a wireless communication system capable of simply and safely ensuring security during communication.
  • each user terminal 10 determines whether or not the connection destination user terminal 10 is a reliable partner, and whether the connection destination user terminal 10 is associated with the connection destination user terminal 10 on the network service n0. Judgment is based on whether or not.
  • each user's account (hereinafter referred to as “user”) based on information indicating whether or not each user designated by each user has a friendship relationship. ID ”).
  • This association between user IDs may be called a social graph.
  • the user terminal 10a allows the user ub when the relationship c11 between the user ua and the user ub is a friendship on the network service n0 (that is, when the user ub is associated). Can obtain information registered on the network service n0.
  • the user terminals 10a and 10b of the users ua and ub can trust each other.
  • the user terminals 10a and 10b send the encryption keys for encryption when communicating with each other via the social graph on the network service n0.
  • each of the user terminals 10a and 10b generates (or acquires) an encryption key for encrypting data and a decryption key for decryption when communicating with itself, and causes the network service n0 to manage the encryption key.
  • the encryption keys key_A and key_B created in each of the user terminals 10a and 10b are managed by the network service n0.
  • the user terminal 10a uses the encryption key key_B managed on the network service n0 as a social graph. It is possible to get through.
  • the user terminal 10a cannot specify the user ub on the network service n0, and as a result, obtains the encryption key key_B. It will not be possible.
  • the network service n0 manages service-specific encryption keys and decryption keys.
  • the network service n0 provides a service-specific encryption key (hereinafter also referred to as “encryption key key_S”) to a user terminal of a user who can use the network service n0.
  • the network service n0 has a function of decrypting data encrypted with the encryption key key_S for a user who can access the network service n0 (that is, a user having the user ID of the network service n0). Accordingly, encrypted communication using the service-specific encryption key key_S can be performed between users who can use the network service n0. Details of communication using the service-specific encryption key key_S will be described later.
  • each user terminal 10 determines whether or not the other party can be trusted via the social graph on the network service n0, and communicates with the other party based on the determination result. It is possible to obtain an encryption key for performing the above. Therefore, the user of each user terminal 10 can perform secure communication between the user terminals 10 without taking complicated procedures.
  • details of the wireless communication system according to the present embodiment will be described.
  • FIG. 3 is a diagram illustrating an example of a schematic hardware configuration of the user terminal according to the embodiment.
  • the user terminal 10 includes a CPU 101, a memory 102, an output unit 103, an input unit 104, a storage unit 105, an I / O interface 106, a first communication unit 111, The communication antenna 112, the second communication unit 121, and the second communication antenna 122 are included.
  • the CPU 101 functions as an arithmetic processing unit and a control unit, and controls the overall operation in the user terminal 10 according to various programs.
  • the CPU 101 may be a microprocessor.
  • the CPU 101 can realize various functions according to various programs.
  • the memory 102 includes a ROM (Read Only Memory) and a RAM (Random Access Memory).
  • the ROM can store programs used by the CPU 101, calculation parameters, and the like.
  • the RAM can temporarily store programs used in the execution of the CPU 101, parameters that change as appropriate during the execution, and the like.
  • the output unit 103 is an example of an output device, and may be a display device such as a liquid crystal display (LCD) device or an organic EL (OLED: Organic Light Emitting Diode) display device.
  • the output unit 103 can provide information by displaying a screen to the user.
  • the input unit 104 has a function of generating an input signal for a user to perform a desired operation.
  • the input unit 104 includes, for example, an input unit for a user to input information, such as a touch sensor, a mouse, a keyboard, a button, a microphone, a switch, and a lever, and an input that generates an input signal based on the input by the user and outputs the input signal to the CPU 101 It may be composed of a control circuit or the like.
  • the storage unit 105 is a data storage device, and includes a storage medium, a recording device that records data on the storage medium, a reading device that reads data from the storage medium, and a deletion device that deletes data recorded on the storage medium. Can be included.
  • the storage medium for example, flash memory, MRAM (Magnetorative Random Access) Memory, FeRAM (Ferroelectric Random Access Memory), PRAM (Phase Change Random Access Memory), and EEPROM (Electrically Readable Memory) May be used.
  • the I / O interface 106 is an interface for connecting an external device such as an actuator such as a display device or a sensor capable of key input, and transmitting / receiving signals to / from the connected external device.
  • the I / O interface 106 can supply a signal from a connected external device to the CPU 101.
  • the I / O interface 106 can supply a signal from the CPU 101 to a connected external device.
  • the first communication antenna 112 and the second communication antenna 122 are antennas having a function of transmitting / receiving a communication signal via, for example, a mobile communication network or a wireless LAN (Local Area Network) communication network.
  • the first communication antenna 112 can supply the received signal to the first communication unit 111.
  • the first communication antenna 112 may transmit a signal from the first communication unit 111 to another communication device via a mobile communication network or a wireless LAN communication network.
  • the second communication antenna 122 can supply the received signal to the second communication unit 121.
  • the second communication antenna 122 may transmit a signal from the second communication unit 121 to another communication device via a mobile communication network or a wireless LAN communication network.
  • the first communication unit 111 has a function of performing various signal processing on the signal supplied from the first communication antenna 112.
  • the first communication unit 111 can supply the CPU 101 with a digital signal generated from the supplied analog signal.
  • the second communication unit 121 has a function of performing various signal processing on the signal supplied from the second communication antenna 122.
  • the second communication unit 121 can supply the CPU 101 with a digital signal generated from the supplied analog signal.
  • the first communication unit 111 and the first communication antenna 112 are configured so that the user terminal 10 has infrastructure such as a mobile communication network (for example, a base station and a fixed network that connects the base stations). It is assumed that it is used for communicating with other communication devices via the network.
  • the second communication unit 121 and the second communication antenna 122 will be described as being used for the user terminal 10 to perform interconnection with other user terminals 10 (in other words, to construct an ad hoc network).
  • the hardware configuration described above is an example, and the hardware configuration of the user terminal 10 is not limited to the above as long as the operation of the user terminal 10 according to the present embodiment described below can be realized.
  • the hardware configuration of the user terminal 10 is not limited to the above as long as the operation of the user terminal 10 according to the present embodiment described below can be realized.
  • the first communication unit 111 and the first communication antenna 112 instead of providing the first communication unit 111 and the first communication antenna 112, and the second communication unit 121 and the second communication antenna 122 separately, either one may serve both roles.
  • the configuration of the user terminal 10 according to the present embodiment will be described.
  • one user terminal 10 receives from the other user terminal 10 on the network service n0.
  • Identification information for identifying the other party is received.
  • This identification information may include, for example, the user ID of the user of the user terminal 10 on the network service n0 and an ID for uniquely identifying the user terminal 10 (hereinafter referred to as “device ID”).
  • device ID an ID for uniquely identifying the user terminal 10
  • the user terminals 10a and 10b perform communication will be described as an example, and the user terminal 10b will be described as the identification information transmitting side and the user terminal 10a will be described as the identification information receiving side. Note that details of information included in the identification information and processing differences associated with differences in information included in the identification information will be described later.
  • the identification information corresponds to an example of “first identification information” and “second identification information”.
  • FIG. 4 is a block diagram showing the configuration of the user terminal 10b according to the present embodiment, and shows an example of the configuration of the user terminal 10b on the side that transmits identification information.
  • the user terminal 10 b includes a first communication unit 111, a second communication unit 121, a key generation unit 131, a key information storage unit 132, an authentication processing unit 133, and an identification information management unit 134. And an identification information storage unit 135 and an identification information notification unit 136.
  • the user terminal 10 that transmits identification information described below may also operate as a “user terminal 10 that receives identification information” described later. In that case, needless to say, the user terminal 10 includes each component of “user terminal 10 on the side of receiving identification information” described later.
  • the first communication unit 111 is used for each component in the user terminal 10b to communicate with other communication devices via a base facility such as a mobile communication network.
  • a base facility such as a mobile communication network.
  • illustration of the 1st communication antenna 112 is abbreviate
  • each component in the user terminal 10b accesses the network service n0 via the first communication unit 111.
  • data is transmitted / received via the first communication unit 111 unless otherwise specified.
  • the second communication unit 121 is used for each component in the user terminal 10b to interconnect with another user terminal 10 (for example, the user terminal 10a). In FIG. 4, the second communication antenna 122 is not shown.
  • each component in the user terminal 10b accesses the user terminal 10a via the second communication unit 121.
  • the data is transmitted via the second communication unit 121 unless otherwise specified. Send and receive.
  • the key generation unit 131 generates an encryption key and a decryption key for encrypting and decrypting data when the user terminal 10b communicates with another user terminal.
  • the key generation unit 131 may generate an encryption key (public key) and a decryption key (secret key) used in the public key cryptosystem.
  • the key generation unit 131 may acquire an encryption key and a decryption key generated externally without generating the encryption key and the decryption key by itself.
  • the generated encryption key corresponds to an example of “first encryption key” and “second encryption key”.
  • the generated decryption key corresponds to an example of “first decryption key” and “second decryption key”.
  • the key generation unit 131 stores the decryption key in the key information storage unit 132 among the generated encryption key and decryption key.
  • the key information storage unit 132 is a storage unit for storing a decryption key.
  • the key generation unit 131 may store the encryption key in the key information storage unit 132 together. As described above, the key information storage unit 132 stores information for performing encryption or decryption.
  • the key generation unit 131 transmits the encryption key of the generated encryption key and decryption key to the network service n0 in association with the identification information for specifying the user terminal 10b on the network service n0.
  • the encryption key transmitted to the network service n0 corresponds to the encryption key key_B.
  • the identification information for specifying the user terminal 10b may be, for example, a user ID for specifying the user ub of the user terminal 10b.
  • the identification information may be a device ID that can uniquely identify the user terminal 10b, such as a MAC address. In the case of a device ID, if the user terminal 10b can be uniquely specified on the network service n0, it is not necessarily a MAC address. For example, it may be information generated to uniquely identify the user terminal 10b on the network service n0.
  • the identification information includes both a user ID and a device ID, and may be used in combination with a user ID and a device ID.
  • a user ID and a device ID By combining the user ID and the device ID, for example, when one user uses a plurality of user terminals 10, it is possible to uniquely identify which user terminal 10 the user uses.
  • FIG. 5 is a diagram illustrating an example of the association between the user terminals 10 on the network service n0, and illustrates an example in which the users ua and ub use a plurality of user terminals 10, respectively.
  • the user ua owns the user terminals 10a1 to 10a3, and uses the network service n0 by switching each of them. Further, the user ub owns the user terminals 10b1 to 10b3, and uses the network service n0 by switching between them. In this case, it is difficult to uniquely identify the user terminal 10 used by each of the users ua and ub only by the relationship c11 between the users ua and ub.
  • the user terminal 10 used by each user is uniquely specified by associating the device ID of the user terminal 10 used by each user with the user ID of each of the users ua and ub on the network service n0. It is possible.
  • the user ua associates the device ID of the user terminal 10a3 with the user ID of the user ua.
  • the user ub associates the device ID of the user terminal 10b1 with his / her user ID.
  • the user terminal 10a3 of the user ua can specify the user terminal 10b1 of the user ub via the social graph on the network service n0.
  • the user terminals 10a3 and 10b1 are associated on the network service n0. Is possible.
  • the identification information includes both the user ID and the device ID will be described as an example.
  • the identification information management unit 134 acquires the user ID in the network service n0 of the user (for example, the user ub) who operates the user terminal 10b, and stores the acquired user ID in the identification information storage unit 135 as the owner information d10.
  • the identification information storage unit 135 is a storage unit for storing owner information d10. The operation of the identification information management unit 134 and details of the owner information d10 will be described below.
  • the identification information management unit 134 associates the user ID input when the user ub logs into the network service n0 and the ID type indicating which network service n0 the user ID is as the owner information d10. It is stored in the identification information storage unit 135.
  • the identification information (user ID) set in the owner information d10 stored in the identification information storage unit 135 and the ID type d110 are transmitted to another user terminal 10 (for example, the user terminal 10a) by the identification information notification unit 136 described later. ).
  • the user terminal 10 that has received the identification information (user ID) and the ID type d110 can specify the network service n0 by the ID type d110.
  • the user terminal 10 can search the acquired identification information (user ID) via the social graph of the specified network service n0.
  • the wireless communication system is configured to be able to select whether or not to encrypt user IDs transmitted to authenticate each other.
  • the method of encrypting the user ID and authenticating each other is referred to as “method of encrypting the identification information”
  • the method of authenticating each other without encrypting the user ID is referred to as “method of not encrypting the identification information”.
  • an encryption key for example, a public key
  • the user ID is encrypted using the other party's encryption key.
  • the method of authenticating each other by encrypting the user ID using the other party's encryption key is hereinafter referred to as “method using the other party's key”.
  • the owner information The mode of the user ID included in d10, that is, whether or not the user ID is encrypted is different.
  • the ID type d110 is configured so that the difference between the network services n0 can be identified, the user terminal 10b can use which of the above-described methods for authenticating each other at the connection destination. It is difficult for a certain user terminal 10 to recognize.
  • the identification information management unit 134 generates an ID type included in the owner information d10 so that the difference between the above-described methods for authenticating each other in addition to the difference in the network service n0 can be identified. Specifically, the identification information management unit 134 generates different information as the ID type even when the user IDs of the same network service n0 are different in the method of authenticating each other. With such a configuration, the other user terminals 10 can search for the user ub of the user terminal 10b through the social graph of which network service n0 and the method for authenticating each other depending on the ID type. Can be recognized.
  • the user ID can be encrypted with the encryption key key_S provided by the network service n0.
  • the encrypted user ID can be decrypted.
  • FIG. 6 is a diagram illustrating an example of the owner information d10.
  • the details of each of the above-described methods for authenticating each other are described in “1.4. Communication sequence (method of not encrypting identification information)” and “1.5. Communication sequence (encryption of identification information)”. And “1.6. Communication sequence (method using partner key)”.
  • the owner information d10 includes an ID type d110 and an owner ID d120.
  • the ID type d110 is information for identifying a difference in the network service n0, whether or not the user ID is encrypted, and a difference in a method for authenticating each other.
  • the reference sign d11 indicates owner information d10 when the user ID is not encrypted (hereinafter referred to as “owner information d11”).
  • Reference numeral d13 indicates owner information d10 when the user ID is encrypted (hereinafter referred to as “owner information d13”).
  • owner information d15 when an encryption key (for example, a public key) has already been exchanged between the user terminals 10, the reference symbol d15 encrypts the user ID using the other party's encryption key and transmits and receives each other.
  • the owner information d10 when the use of the authentication method is permitted is shown (hereinafter referred to as “owner information d15”).
  • the owner ID d120 indicates the user ID of the network service n0 indicated by the ID type.
  • the owner ID d120 is set with the user ID encrypted with the encryption key key_S when the ID type d110 indicates the encryption of the user ID, and the ID type d110 does not indicate the encryption of the user ID. In this case, an unencrypted user ID is set.
  • the owner information d11 whose ID type d110 is “0x003f” corresponds to the network service n0 “service B” and the user terminal 10 “a method that does not encrypt the user ID”. It is shown that. That is, when the ID type 110 is “0x003f”, it indicates that the owner ID d120 is an unencrypted service B account (user ID). In this case, the identification information management unit 134 sets “keke123” as the unencrypted user ID of “service B” in the owner ID d120.
  • the ID type d110 indicating “method of not encrypting the user ID” is simply referred to as “account”, and in the case of “account” of “service B”, it may be referred to as “service B account”. .
  • the owner information d12 with the ID type d110 “0x005a” indicates that the network service n0 is “service A” and the user terminal 10 corresponds to “method of encrypting user ID”. Yes. That is, if the ID type D110 is “0x005a”, it indicates that the owner ID d120 is an encrypted account (user ID) of the service A. In this case, the identification information management unit 134 sets “sha6le3rlke” as the user ID of the encrypted “service A” in the owner ID d120.
  • the ID type d110 indicating “method of encrypting the user ID” will be referred to as “encrypted account”, and in the case of “encrypted account” of “service A”, “service A encrypted account” Sometimes called.
  • the owner information d13 with the ID type d110 “0x0156” indicates that the network service n0 is “service B” and the user terminal 10 supports the “method of using the partner's key”. Yes. That is, when the ID type d110 is “0x0156”, if the encryption key (public key) has already been exchanged with the user terminal 10b, the authentication using the mutual encryption key is permitted in the user terminal 10b. It has been shown. In this case, the identification information management unit 134 sets “w48tpboyuppqw84t” as the user ID of the encrypted “service B” in the owner ID d120.
  • ID type d110 indicating the “method of using the partner's key” will be referred to as “internal record search encryption account”, and in the case of “service B” “internal record search encryption account”. May be referred to as “internal record search service B encrypted account”.
  • the identification information management unit 134 determines which one of “method of encrypting the user ID”, “method of not encrypting the user ID”, and “method of using the partner's key” to be selected. It may be determined based on the input by the user ub. As another example, it is set in advance which one of “method of encrypting user ID”, “method of not encrypting user ID”, and “method of using partner's key” is used. May be.
  • the identification information management unit 134 stores the owner information d10 corresponding to the method selected from the “method of encrypting the user ID”, “method of not encrypting the user ID”, and “method of using the partner's key”.
  • the generated owner information d10 is stored in the identification information storage unit 135.
  • As a method for authenticating each other at least one of “a method of encrypting a user ID” and “a method of not encrypting a user ID” may be selected.
  • the identification information storage unit 135 may be a non-volatile storage medium or a volatile storage medium. Needless to say, when a volatile storage medium is used for the identification information storage unit 135, the owner information d10 stored in the identification information storage unit 135 is erased when the user terminal 10b is stopped. On the other hand, when a non-volatile storage medium is used for the identification information storage unit 135, the owner information d10 stored in the identification information storage unit 135 is not erased even when the user terminal 10b is stopped. Therefore, the identification information management unit 134 may be able to delete the owner information d10 stored in the identification information storage unit 135.
  • the identification information notification unit 136 reads the owner information d10 from the identification information storage unit 135, and distributes the read owner information d10 to the other user terminals 10.
  • the other user terminal 10 has the user ID of the user ub who is the user of the user terminal 10b, the user ID of which network service n0 the user ID is, and whether or not the user ID is encrypted. Can be recognized.
  • the other user terminals 10 can use the “method of encrypting the user ID”, “method of not encrypting the user ID”, as a method for the user terminals 10b to authenticate each other based on the distributed owner information d10, It is possible to recognize which one of “the method of using the partner's key” is permitted.
  • the identification information notification unit 136 may broadcast the owner information d10 to an unspecified number of other user terminals 10 existing around the user terminal 10b, or may unicast the information to the specific user terminal 10. . Details of how the identification information notification unit 136 distributes owner information will be described later.
  • the identification information notifying unit 136 encrypts the owner information d10 with the encryption key key_A, and converts the encrypted owner information d10 into the user terminal 10a. May be unicast.
  • the ID type d110 in this case may be “internal record search encryption account”.
  • the user terminal 10b acquires the encryption key key_A of the user terminal 10a, for example, the user terminal 10b may be operated as the user terminal 10 on the side that receives identification information described later.
  • the identification information notification unit 136 may notify the other user terminal 10 of the device ID for specifying the user terminal 10b. At this time, the identification information notification unit 136 may encrypt the device ID. When the device ID is encrypted, the identification information notification unit 136 may encrypt the device ID with the encryption key used for encrypting the user ID.
  • the authentication processing unit 133 executes a process for authenticating each other with the connected user terminal 10 (for example, the user terminal 10a).
  • WEP Wi-Fi Protected Access
  • WPA2 Wi-Fi Protected Access 2
  • WPA2 Wi-Fi Protected Access 2
  • the authentication processing unit 133 stores the data acquired from the other connection destination user terminal 10 in the key information storage unit 132 when the data is encrypted with the encryption key key_B generated by the key generation unit 131. The data is decrypted with the decrypted key.
  • FIG. 7 is a block diagram showing the configuration of the user terminal 10a according to the present embodiment, and shows an example of the configuration of the user terminal 10a on the side that receives the identification information.
  • the user terminal 10a includes a first communication unit 111, a second communication unit 121, a key generation unit 131, an identification information acquisition unit 141, a key acquisition unit 142, and a key information storage unit 143. And an authentication processing unit 144.
  • the user terminal 10 that receives the identification information described below may also operate as the above-described “user terminal 10 that transmits the identification information”. In that case, it goes without saying that the user terminal 10 has the above-described configurations of the “user terminal 10 on the identification information transmitting side”.
  • the first communication unit 111 is used for each component in the user terminal 10a to communicate with other communication devices via a base facility such as a mobile communication network. In FIG. 7, the first communication antenna 112 is not shown.
  • each component in the user terminal 10a accesses the network service n0 via the first communication unit 111.
  • data is transmitted / received via the first communication unit 111 unless otherwise specified.
  • the second communication unit 121 is used for each component in the user terminal 10a to interconnect with another user terminal 10 (for example, the user terminal 10b). In FIG. 7, the second communication antenna 122 is not shown.
  • each component in the user terminal 10 a accesses the user terminal 10 b via the second communication unit 121.
  • the data is transmitted via the second communication unit 121 unless otherwise specified. Send and receive.
  • the key generation unit 131 is the same as the key generation unit 131 of the user terminal 10b described above.
  • the key generation unit 131 generates an encryption key and a decryption key, and stores the decryption key in the key information storage unit 143 among the generated encryption key and decryption key.
  • the key generation unit 131 transmits the encryption key of the generated encryption key and decryption key to the network service n0 in association with identification information for specifying the user terminal 10a on the network service n0.
  • the encryption key transmitted to the network service n0 corresponds to the encryption key key_A.
  • the identification information acquisition unit 141 acquires identification information for identifying the user terminal 10b on the network service n0 from the user terminal 10b, and the acquired identification information is associated with the identification information of the user terminal 10a on the network service n0. It is determined whether or not.
  • the identification information acquisition unit 141 acquires identification information (user ID) and an ID type d110 from the user terminal 10b. Based on the acquired ID type d110, the identification information acquisition unit 141 identifies which network service n0 is the acquired identification information (user ID).
  • the identification information acquisition unit 141 determines whether the identification information (user ID) is encrypted based on the acquired ID type d110. When the identification information is encrypted, the identification information acquisition unit 141 accesses the specified network service n0 and decrypts the encrypted identification information on the network service n0. At this time, the decryption of the identification information may be executed on the network service n0 side, or the identification information acquisition unit 141 may acquire the decryption key from the network service n0 and perform the decryption. Needless to say, if the identification information is not encrypted, decryption is not necessary. By decrypting the encrypted identification information, the identification information acquisition unit 141 acquires the user ID of the user ub who is the user of the user terminal 10b.
  • the identification information acquisition unit 141 may acquire a device ID from the user terminal 10b.
  • the identification information acquisition unit 141 may perform decryption as in the case of the user ID. In the following description, it is assumed that the identification information acquisition unit 141 has acquired a user ID and a device ID from the user terminal 10b.
  • the identification information acquisition unit 141 notifies the key acquisition unit 142 and the authentication processing unit 144 of the acquired user ID and device ID and the ID type d110 extracted from the owner information d10.
  • the user terminal 10b When the identification information is sent from the user terminal 10b by unicast, the user terminal 10b encrypts and transmits the user ID and device ID with the encryption key key_A corresponding to the user terminal 10a. There is. In this case, it is possible to perform mutual authentication with the user terminal 10b based on the “method using the partner's key”. Therefore, when the ID type d110 indicates “internal record search encryption account”, the identification information acquisition unit 141 receives the user ID encrypted based on the decryption key stored in the key information storage unit 143. By decrypting, the decrypted user ID is acquired. The same applies to the case where the device ID is encrypted.
  • the identification information acquisition unit 141 may reject the connection request from the user terminal 10b.
  • the user terminal 10a permits only “a method for encrypting identification information”
  • the identification information acquisition is performed.
  • the unit 141 may reject the connection request from the user terminal 10b.
  • the identification information The acquisition unit 141 may reject the connection request from the user terminal 10b.
  • the identification information acquisition unit 141 may end a series of processes without performing the subsequent processes. At this time, the identification information acquisition unit 141 may notify the user terminal 10b that it cannot respond to the connection request.
  • the identification information acquisition unit 141 After acquiring the user ID and device ID, the identification information acquisition unit 141 stores the encryption key associated with the type of the network service n0 indicated by the ID type d110 and the acquired user ID and device ID in the key information storage unit 143. Check if it is memorized. The process of storing the encryption key in the key information storage unit 143 will be described later separately.
  • the identification information acquisition unit 141 uses the acquired user ID and device ID and the ID type d110 extracted from the owner information d10 as an authentication processing unit. 144 is notified. At this time, the identification information acquisition unit 141 does not necessarily need to notify the key acquisition unit 142 of the user ID, the device ID, and the ID type d110.
  • the key acquisition unit 142 acquires the user ID, device ID, and ID type d110 from the identification information acquisition unit 141.
  • the key acquisition unit 142 accesses the network service n0 corresponding to the acquired ID type d110, and searches for the user ID and device ID acquired via the social graph of the network service n0.
  • the key acquisition unit 142 performs the user ID and the user ID on the network service n0.
  • Device ID can be specified.
  • the processing related to the search for the social graph may be executed by the network service n0 (in other words, the server 50 providing the network service n0) based on a request from the key acquisition unit 142.
  • the key acquisition unit 142 that is, the user terminal 10a
  • the network service n0 may provide the user terminal 10a with data and a program for executing processing related to the search for the social graph.
  • the key acquisition unit 142 acquires the encryption key associated with the user ID and device ID via the social graph on the network service n0. Thereby, the key acquisition unit 142 can acquire, for example, the encryption key key_B associated with the user terminal 10b specified by the acquired user ID and device ID via the social graph of the network service n0. .
  • the key acquisition unit 142 After acquiring the encryption key, the key acquisition unit 142 associates the encryption key acquired via the network service n0 with the user ID, device ID, and ID type d110 acquired from the identification information acquisition unit 141, and the authentication processing unit 144. Output to.
  • the authentication processing unit 144 acquires the user ID, device ID, and ID type d110 from the identification information acquisition unit 141.
  • the authentication processing unit 144 extracts the encryption key associated with the acquired user ID, device ID, and ID type d110 from the key information storage unit 143. Details of the key information storage unit 143 will be described later. If the corresponding encryption key is already stored in the key information storage unit 143, the authentication processing unit 144 succeeds in extracting the encryption key. When the extraction of the encryption key is successful, the authentication processing unit 144 encrypts data based on the extracted encryption key and exchanges data with the user terminal 10 specified by the acquired user ID and device ID. Execute the authentication process.
  • the authentication processing unit 144 of the user terminal 10a fails to extract the encryption key. If the extraction of the encryption key fails, the authentication processing unit 144 acquires the encryption key associated with the user ID, device ID, and ID type d110 from the key acquisition unit 142. The authentication processing unit 144 encrypts data based on the acquired encryption key and executes a process of authenticating each other with the user terminal 10 specified by the acquired user ID and device ID. In addition, the authentication processing unit 144 causes the key information storage unit 143 to store the encryption key associated with the user ID, device ID, and ID type d110 acquired from the key acquisition unit 142.
  • the authentication processing unit 144 may operate as the authentication processing unit 133 described above. Therefore, in the following, when one of the “authentication processing unit 133” and “authentication processing unit 144” is described, the authentication processing unit can also operate as the other authentication processing unit. It shall be.
  • the key information storage unit 143 stores the decryption key generated by the key generation unit 131.
  • the key information storage unit 143 may store the encryption key generated by the key generation unit 131.
  • the key information storage unit 143 stores an encryption key (an encryption key generated or acquired by another user terminal 10) for each user ID, device ID, and ID type d110 (in other words, the type of the network service n0). To do.
  • Each encryption key stored in the key information storage unit 143 is managed so that it can be extracted using the user ID, device ID, and ID type d110 as a search key.
  • FIG. 8 is a diagram showing an example of management data d40 for managing each encryption key so that it can be extracted using the user ID, device ID, and ID type d110 as a search key in the key information storage unit 143.
  • reference numbers d410a and d410b correspond to the ID type d110.
  • each of reference numbers d420a to d420d indicates a user ID
  • each of reference numbers d430a to d430d indicates a device ID.
  • Each of the reference numbers d441a to d441d indicates an encryption key
  • each of the reference numbers d442a to d442d indicates an update date and time when each of the encryption keys d441a to d441d is acquired or updated.
  • the encryption keys d441a to d441d are not particularly distinguished, they may be described as “encryption key d441”.
  • “update date and time d442” may be described.
  • an encryption key d441a indicated by “key_A1” is associated with an ID type d410a indicated by “0x0001”, a user ID d420a indicated by “account_A1”, and a device ID d430a indicated by “A_dev_id_AAA”.
  • An update date and time d442a indicated by “YY / MM / DD HH: MM: SS” indicates a date and time when the encryption key d441a is acquired or updated.
  • the unit for managing the encryption key is not limited to the example shown in FIG. 8 as long as the data encrypted at each user terminal 10 can be correctly decrypted when the data is encrypted between the user terminals 10. For example, even when a certain user uses a plurality of user terminals 10, if a common encryption key and decryption key are used among the plurality of user terminals 10, the encryption key is managed for each user ID. Good. As another example, the encryption key may be managed for each device ID without being associated with the user ID.
  • the key information storage unit 143 may operate as the key information storage unit 132 described above. Therefore, hereinafter, when any one of the “key information storage unit 132” and the “key information storage unit 143” is described, the key information storage unit is referred to as the other key information storage unit. It is possible to operate as well.
  • the network service n0 when the network service n0 decrypts the identification information of the user terminal 10 encrypted with the encryption key key_S, the network service n0 notifies the identification information acquisition unit 141 of the decrypted identification information. The identification information may not be notified. For example, when the identification information of the user terminal 10b is decoded, the network service n0 checks whether the user terminal 10a and the user terminal 10b are associated without notifying the user terminal 10a of the identification information of the user terminal 10b. To do. When the user terminal 10a and the user terminal 10b are associated with each other, the network service n0 may acquire the encryption key key_B of the user terminal 10b and transmit the acquired encryption key key_B to the user terminal 10a.
  • the user terminal 10a recognizes the content of the identification information of the user terminal 10b, and only when the user terminal 10a and the user terminal 10b are associated with each other, the encryption key of the user terminal 10b. Key_B is acquired. That is, the encryption key key_B of the user terminal 10b can be transferred to the user terminal 10a while hiding the identification information of the user terminal 10b from the user terminal 10a.
  • a communication device capable of wireless communication searches for another user terminal 10 existing in the vicinity by using either or both of the methods called passive scan and active scan.
  • the user terminal according to the present embodiment broadcasts identification information and ID type d110 to other user terminals 10 by using transmission / reception of signals when performing passive scan or active scan.
  • passive scan an example of the passive scan will be described first, and then an example of the active scan will be described.
  • FIG. 9 is a diagram for explaining an example of a method in which the user terminal 10 distributes the identification information and the ID type d110 to other user terminals 10, and shows a case of passive scanning.
  • the user terminal 10 transmits a beacon to other user terminals 10 existing around in a predetermined cycle.
  • the user terminal 10a transmits beacons b10a to b10c to other user terminals 10b existing around in a predetermined cycle.
  • the beacons b10a to b10c include information for specifying the user terminal 10a that is the transmission source. Therefore, the user terminal 10b can recognize that the user terminal 10a is present by receiving at least one of the beacons b10a to b10c.
  • the user terminal 10 distributes main information and device ID to other user terminals by including identification information and ID type d110 in the above-described beacons b10a to b10c.
  • the beacons b10a to b10c are not particularly distinguished, they may simply be described as “beacon b10”.
  • the transmission side of the beacon b10 will be described as the user terminal 10a, and the reception side of the beacon b10 will be described as the user terminal 10b.
  • FIG. 10 is a diagram illustrating an example of a data structure of communication data d20 for the user terminal 10 to transmit the identification information and the ID type d110.
  • the communication data d20 includes a preamble d21, a header d22, and beacon information d23.
  • the preamble d21 is data for synchronizing signals when communication devices communicate with each other, and is generally arranged immediately before the frame (in other words, at the head of the communication data d20).
  • the header d22 is an area for storing control information such as the transmission source and destination of the communication data d20 and the type of the communication data d20 (for example, whether the beacon information d23 is included).
  • the header d22 includes information indicating the type of each information included in the beacon information d23 and the position where the information is stored.
  • the user terminal 10 can analyze the header d22 to determine whether the received communication data d20 is the beacon b10 or extract information stored in the communication data d20.
  • the beacon information d23 of the communication data d20 is different from the beacon information used for existing wireless communication in that the owner information d250 is included.
  • the communication data d20 may include time information d231, network ID d232, network attribute d233, service information d240, and other information d260, similar to existing beacon information used for wireless communication. Detailed description of the time information d231, network ID d232, network attribute d233, and other information d260 is omitted.
  • the service information d240 is an area for storing information on services that can be provided by the user terminal 10a that is the transmission source of the communication data d20.
  • the service information d240 includes an ElementID d241, a Lengthd242, and one or more service notification fields d243.
  • ElementIDd 241 identification information indicating the corresponding data and the service information d240 is stored.
  • Lengthd 242 indicates the number of service notification fields d243 or the length of data determined according to the number. That is, the Lengthd 242 indicates how far the data corresponds to the service notification field d243.
  • the service notification field d243 information on each service that can be provided by the user terminal 10a is shown. For example, when the user terminal 10 can provide M services, a service notification field d243 is generated for each of the M services.
  • the owner information d250 is an area for storing the owner information d10 described above.
  • the owner information d250 includes an ElementID d251, a Lengthd252, and one or more owner information fields d243.
  • ElementIDd 251 stores identification information indicating that the data is owner information d250 in the corresponding data.
  • Length d 252 indicates the number of owner information fields d 243 or the length of data determined according to the number. That is, Lengthd 242 indicates how much data corresponds to the owner information field d243.
  • the owner information field d243 is an area for storing the owner information d10 described above in order for the user terminal 10a to distribute the user ID to other user terminals 10 that are transmission destinations.
  • the owner information field d243 includes an ID type area d254 and an owner ID area d255.
  • the ID type d110 of the owner information d10 is stored in the ID type area d254.
  • the owner ID area d255 stores a user ID associated with the ID type d110 stored in the ID type area d254 in the owner information d10.
  • the user terminal 10a which is the transmission source of the communication data d20, stores part or all of the owner information d10 stored therein in each owner field d253 so that each owner information d10 is stored in the other user terminals 10. To distribute. As a result, the user ID (encrypted or unencrypted user ID) indicated by the owner ID d120 of the owner information d10 is distributed to the other user terminals 10.
  • the communication data d20 is transmitted (broadcast) without specifying the other party. Therefore, when the information distributed by the communication data d20 is encrypted, an encryption key whose decryptable partner is not uniquely limited is used as the encryption key, for example, the encryption key key_S provided by the network service n0. Good.
  • the user terminal 10a that is the transmission source may store the device ID in the communication data d20 and distribute it to another user terminal 10b that is the transmission destination.
  • the user terminal 10a may store its own device ID as control information indicating the transmission source of the communication data d20 in the header d22, or store the device ID as other information d260 in the beacon information d23. May be.
  • the user terminal 10a may have a device ID and store it in the owner information field d253.
  • the user terminal 10a may encrypt the device ID by the same method (similar encryption key) as the owner ID stored in the corresponding owner information field d253.
  • the example of the communication data d20 described above is merely an example, and if the user terminal 10a that is the transmission source can distribute the identification information and the ID type d110 of the identification information to other user terminals 10, the data of the communication data d20
  • the format is not limited. Further, the user terminal 10a does not necessarily have to transmit all data as one communication data d20. For example, the user terminal 10a may transmit the service information d240 and the owner information d250 separately with different communication data d20.
  • the user terminal 10b that has received the beacon b10 recognizes another user terminal 10 (for example, the user terminal 10a) that exists in the vicinity.
  • the user terminal 10b may present a candidate for another user terminal 10 to be a connection destination to the user in order to construct an ad hoc network.
  • FIG. 11 is an example of a screen for selecting connection destination candidates.
  • the user terminal 10b recognizes that there are user terminals 10a, 10c, and 10d in the vicinity, and the options v10a and v10c indicating that the user terminals 10a, 10c, and 10d are connection destination candidates. , V10d are displayed on the display unit 103. That is, in this case, the user terminal 10b may execute a process for authenticating each other in order to establish communication with another selected user terminal 10 in response to a selection from the user. As another example, the user terminal 10b automatically performs a process for authenticating each other with the recognized other user terminal 10 without displaying a connection destination candidate or selecting a candidate by the user. May be.
  • the user terminal 10b can specify which network service n0 the user ID included in the beacon b10 is based on the ID type d110 included in the beacon b10 (that is, communication data d20). Further, the user terminal 10b can recognize whether or not the user ID is encrypted based on the ID type d110 and which one of the transmission-source user terminals is permitted as a method for authenticating each other. Therefore, when displaying the options v10a, v10c, and v10d, the user terminal 10b determines the difference in the network service n0 specified based on the ID type d110 described above, whether or not the user ID is encrypted, and each other. You may display the difference in the method of authenticating.
  • FIG. 12 is a diagram for explaining an example of a method in which the user terminal 10 distributes owner information and device IDs to other user terminals 10, and shows a case of active scanning.
  • the user terminal 10 transmits an inquiry request message to other user terminals 10 existing in the vicinity, and receives a response message from the other user terminal 10 that has responded to the inquiry.
  • the user terminal 10b transmits inquiry messages b20a and b20b to other user terminals 10a existing around.
  • the user terminal 10a If the user terminal 10a can respond to the request messages b20a and b20b received from the user terminal 10b, the user terminal 10a transmits a response message. For example, in the example illustrated in FIG. 12, the user terminal 10a transmits a response message b30 to the request message b20b received at the time T10 when the response is possible to the user terminal 10b. By receiving this response message b30, the user terminal 10b can recognize the presence of the user terminal 10a.
  • the request messages b20a and b20b are not particularly distinguished, they may be described as “request message b20”.
  • the user terminal 10a may store and transmit its own identification information (for example, user ID or device ID) and the ID type d110 in the response message b30. Thereby, the user terminal 10b can specify which network service n0 the identification information notified together is based on the ID type d110 included in the response message b30. Further, the user terminal 10b can recognize whether or not the user ID is encrypted based on the acquired ID type d110 and the method of authenticating each other permitted by the transmission source.
  • identification information for example, user ID or device ID
  • ID type d110 included in the response message b30.
  • the user terminal 10b can recognize whether or not the user ID is encrypted based on the acquired ID type d110 and the method of authenticating each other permitted by the transmission source.
  • the user terminal 10a may unicast the response message b30 to the user terminal 10b, or may transmit the response message b30 to the user terminal 10b by broadcasting.
  • the user terminal 10a may use the communication data d20 described above as the communication data.
  • FIG. 13 is a diagram illustrating an example of a data structure of communication data d30a for transmitting and receiving information in the wireless communication system according to the present embodiment.
  • the communication data d30a includes a storage area for storing a header d310, sender information d320, receiver information d330, NONE d340, public key information d350, and access point information d360.
  • the sender information d320 includes a sender user ID d321 and a sender device ID d322.
  • the recipient information d330 includes a recipient user ID d331 and a recipient device ID d332.
  • the transmission source of the communication data d30a is the user terminal 10a and the transmission destination is the user terminal 10b.
  • the header d310 stores control information indicating which process the communication data d30a corresponds to in the communication sequence for establishing a connection between the user terminals 10a and 10b, and information described later. Information indicating the position is included.
  • the user terminal 10b that has received the communication data d30a determines which process the communication data d30a is to perform by analyzing the header d310, and extracts each piece of information from the communication data d30a. It becomes possible.
  • the header d310 may include information for identifying which network service n0 indicates a user ID stored in a sender user ID d321 or a receiver user ID d331, which will be described later. .
  • the sender information d320 is an area for storing identification information for specifying the user terminal 10a that is the transmission source of the communication data d30a.
  • the sender user ID 321 is an area for storing a user ID for specifying the user terminal 10a. Specifically, the sender user ID 321 stores the user ID of the user ua on the network service n0.
  • the sender device ID d322 is an area for storing a device ID for specifying the user terminal 10a.
  • the sender device ID d322 may store information that uniquely identifies the user terminal 10a, such as a MAC address.
  • the information stored in the sender device ID d322 is not limited to the MAC address.
  • the receiver information d330 is an area for storing identification information for specifying the user terminal 10b that receives the communication data d30a.
  • the recipient user ID d331 is an area for storing a user ID for specifying the user terminal 10b.
  • the type of information stored in the receiver user ID d331 is the same as the information stored in the sender user ID 321.
  • the receiver device ID d332 is an area for storing a device ID for specifying the user terminal 10b.
  • the type of information stored in the receiver device ID d332 is the same as the information stored in the sender device ID d322.
  • NONCEd 340 is an area for storing information for authenticating each other using the mutual encryption key and decryption key by the user terminal 10 that is the transmission source and the other user terminal that is the transmission destination.
  • the source user terminal 10 (referred to as user terminal 10a) encrypts a character string created by a predetermined method using the encryption key key_B of another user terminal 10 (referred to as user terminal 10b) as the destination.
  • the encrypted character string is stored in NONCEd 340 and transmitted to the user terminal 10b.
  • the user terminal 10b decrypts the information stored in the NONCE 340 of the communication data d30a transmitted from the user terminal 10a with its own decryption key.
  • the user terminal 10b encrypts the decrypted information with the encryption key key_A of the user terminal 10a, stores the encrypted information in the NANCED 340, and returns it to the user terminal 10a.
  • the user terminal 10a decrypts the information stored in the NANCEd 340 of the communication data d30a returned from the user terminal 10b with its own decryption key. At this time, if encryption and decryption are correctly performed in both the user terminals 10a and 10b, the decrypted information and a character string generated by the user terminal 10a (a character string before encryption with the encryption key key_B) and Match. That is, the user terminal 10a can recognize the connected user terminal 10b as a reliable partner when the decrypted information matches the character string generated by itself.
  • the transmission source user terminal 10 (referred to as the user terminal 10a) stores its own encryption key (for example, the encryption key key_A), and the other user terminal 10 (the user terminal 10b) as the transmission destination. This is an area for transmission to
  • the access point information d360 stores information (for example, access point information) used by the transmission source user terminal 10 (referred to as the user terminal 10a) to establish mutual connection with itself, and other transmission destination information. This is an area for transmission to the user terminal 10 (referred to as user terminal 10b).
  • the transmission source user terminal 10 can notify the other user terminal 10 of necessary information from time to time, the information is not necessarily stored in each area. It is not necessary to provide the respective areas.
  • the user terminal 10 that is the transmission source may generate or change the contents of the header d310 as appropriate so that the other user terminal 10 that is the transmission destination can correctly read the information.
  • the data format of the communication data d30a shown in FIG. 13 is an example, and the data format of the communication data d30a is not limited as long as each piece of information shown in FIG. 13 can be transmitted and received between the user terminals 10.
  • FIG. 14 is a sequence diagram showing an example of a communication processing sequence in the wireless communication system according to the present embodiment, and shows a series of sequences when the identification information is not encrypted.
  • the example shown in FIG. 14 shows a case where the user terminal 10b issues a connection request to the user terminal 10a.
  • the identification information notifying unit 136 of the user terminal 10b uses the identification information that is not encrypted among the identification information for identifying the user terminal 10b stored in the identification information storage unit 135 as the owner information d10. Distribute to 10a.
  • the identification information notification unit 136 distributes the user ID “B_account” of the user ub on the network service n0 and the device ID “B_dev_id” of the user terminal 10b to the user terminal 10a as the identification information. Yes.
  • the identification information notification unit 136 of the user terminal 10b may notify the user terminal 10a of the ID type d110 together. Accordingly, the user terminal 10a that has received the ID type d110 determines which network service n0 is the user ID of the user ID “B_account” based on the ID type and which method is permitted as a method of authenticating each other. Can be recognized.
  • the ID type d120 will be described assuming that “a method for not encrypting identification information” is set as a method for authenticating each other.
  • “method of encrypting identification information” and “method of using partner's key” are set as a method of authenticating each other, “1.5. Communication sequence (method of encrypting identification information)” ”And“ 1.6. Communication Sequence (Method of Using Partner Key) ”, respectively.
  • the identification information notification unit 136 of the user terminal 10b may be distributed to the user terminal 10a by broadcasting the identification information for specifying the user terminal 10b.
  • the identification information notification unit 136 of the user terminal 10b distributes (broadcasts) the identification information for specifying the user terminal 10b to the user terminal 10a, for example, as the beacon b10 (see FIG. 9) at the time of passive scanning. May be.
  • the identification information notification unit 136 of the user terminal 10b may unicast the identification information toward the user terminal 10a.
  • the identification information notification unit 136 of the user terminal 10b distributes (unicasts) identification information for specifying the user terminal 10b to the user terminal 10a as a response message b30 to the request message b20 from the user terminal 10a. May be.
  • the user terminal 10b When the user terminal 10b unicasts information to another user terminal 10a, the user terminal 10b uses information for identifying the user terminal 10a that is the connection destination (for example, a user ID) as the connection destination information. Or device ID) may be transmitted together. Thereby, the user terminal 10a can determine whether or not the received information is addressed to itself depending on whether or not the identification information is included in the connection destination information.
  • a user ID for example, a user ID
  • device ID device ID
  • connection destination information may be encrypted with, for example, a service-specific encryption key key_S.
  • the user terminal 10a accesses the corresponding network service n0 to decrypt the connection destination information, and whether the received information is addressed to itself based on the decrypted connection destination information. It may be determined whether or not.
  • connection destination information when information is unicast between user terminals 10, connection destination information may be included unless otherwise described, and the connection destination information is encrypted with the encryption key key_S. It may be.
  • the connection destination information may be encrypted with the encryption key key_A. In this case, the user terminal 10a may decrypt the connection destination information with its own decryption key.
  • Step S111 The identification information acquisition unit 141 of the user terminal 10a acquires identification information for specifying the user terminal 10b from the user terminal 10b. At this time, the user terminal 10a returns identification information for identifying itself on the network service n0 to the user terminal 10b. In this case, the user terminal 10a operates as “the user terminal 10 on the identification information transmission side” (see FIG. 4). The operation of the user terminal 10a in this case will be described below as the process of step S111.
  • the identification information notification unit 136 of the user terminal 10a extracts the identification information for identifying itself from the identification information storage unit 135. At this time, the identification information notification unit 136 acquires the identification information from the owner information d10 corresponding to the same type as the ID type d110 notified from the user terminal 10b. In this case, identification information that is not encrypted is extracted. In addition, when the owner information d10 corresponding to the same type as the ID type d110 notified from the user terminal 10b is not stored in the identification information storage unit 135 (that is, when the ID type d110 is not permitted), The identification information notification unit 136 may not make a response to the user terminal 10b. At this time, the identification information notification unit 136 may notify the user terminal 10b that a response cannot be made.
  • the identification information notification unit 136 of the user terminal 10a When the identification information of the user terminal 10a is extracted from the identification information storage unit 135, the identification information notification unit 136 of the user terminal 10a returns the extracted identification information (that is, unencrypted identification information) to the user terminal 10b.
  • the identification information notification unit 136 of the user terminal 10a obtains a user ID “A_account” for specifying the user ua on the network service n0 and a device ID “A_dev_id” for specifying self-confidence. And returned as identification information.
  • the identification information notification unit 136 of the user terminal 10a may also notify the user terminal 10b of the ID type d110 indicating the user ID of which network service n0 the user ID “A_account” is.
  • the identification information acquisition unit 141 of the user terminal 10a transmits the acquired identification information for identifying the user terminal 10b (that is, the user ID “B_account” and the device ID “B_dev_id”) to the network service n0.
  • the user terminal 10a communicates with the network service n0
  • data may be transmitted / received using the communication data d30a shown in FIG.
  • the information on the user terminal 10a is stored in the sender information d320.
  • the network service n0 can be recognized as communication from the user terminal 10a.
  • the receiver information d330 stores information on the user terminal 10b.
  • the network service n0 can acquire the identification information (that is, user ID and device ID) of the user terminal 10b as a search target via the social graph.
  • information is assumed to be unicast between the user terminal 10a, the user terminal 10b, and the network service n0 based on the communication data d30a shown in FIG.
  • the network service n0 (in other words, the server 50 that provides the network service n0) acquires identification information for specifying the user terminal 10b from the user terminal 10a.
  • the network service n0 searches the social graph based on the acquired identification information, and confirms whether the user terminal 10a and the user terminal 10b are associated with each other. In the example illustrated in FIG. 14, the network service n0 checks whether the user ID “A_account” and the device ID “A_dev_id” are associated with the user ID “B_account” and the device ID “B_dev_id” via the social graph.
  • the network service n0 may notify the identification information acquisition unit 141 of the user terminal 10a of the search result of the social graph, that is, the confirmation result of whether the user terminal 10a and the user terminal 10b are associated with each other. Moreover, the process which searches a social graph on the network service n0 may be performed by the user terminal 10a. In that case, network service n0 should just provide the user terminal 10a with the data and program for performing the process which concerns on the search of a social graph.
  • the network service n0 acquires the encryption key key_B associated with the user terminal 10b via the social graph.
  • Step S123 If the encryption key key_B can be acquired, the network service n0 returns the acquired encryption key key_B to the key acquisition unit 142 of the user terminal 10a. At this time, for example, the network service n0 stores the acquired encryption key key_B in the public key information d350 of the communication data d30a, and transmits the communication data d30a to the user terminal 10a, whereby the encryption key key_B is transmitted to the user terminal. You may return to 10a.
  • the network service n0 may notify the user terminal 10a that acquisition of the encryption key key_B has failed.
  • the user terminal 10a can recognize that it is not associated with the user terminal 10b on the network service n0. In this case, the user terminal 10a does not regard the user terminal 10b as a reliable partner, and may end a series of processes without establishing communication. At this time, the user terminal 10a may notify the user terminal 10b that the mutual authentication has failed.
  • the key acquisition unit 142 of the user terminal 10a After acquiring the encryption key key_B, the key acquisition unit 142 of the user terminal 10a associates the acquired encryption key key_B with the user ID, device ID, and ID type d110 acquired from the user terminal 10b, and performs authentication processing of the user terminal 10a. Output to the unit 144.
  • the authentication processing unit 144 of the user terminal 10a acquires the user ID, device ID, and ID type d110 transmitted from the user terminal 10b from the identification information acquisition unit 141.
  • the authentication processing unit 144 of the user terminal 10a extracts the acquired user ID, device ID, and encryption key associated with the ID type d110 from the key information storage unit 143. If the corresponding encryption key is already stored in the key information storage unit 143, the authentication processing unit 144 succeeds in extracting the encryption key. In the example shown in FIG. 14, the encryption key key_B is extracted.
  • the authentication processing unit 144 fails to extract the encryption key. If the extraction of the encryption key fails, the authentication processing unit 144 acquires the encryption key associated with the user ID, device ID, and ID type d110 from the key acquisition unit 142. In the example illustrated in FIG. 14, the encryption key key_B is acquired. In the following description, it is assumed that the authentication processing unit 144 of the user terminal 10a has acquired the encryption key key_B.
  • Step S131 Similar to the user terminal 10a, the user terminal 10b acquires identification information for specifying the user terminal 10a from the user terminal 10a.
  • the user terminal 10b operates as “the user terminal 10 on the identification information receiving side” (see FIG. 7).
  • the identification information acquisition unit 141 of the user terminal 10b acquires identification information for specifying the user terminal 10a from the user terminal 10a.
  • the identification information acquisition unit 141 of the user terminal 10b transmits the identification information for identifying the acquired user terminal 10a (that is, the user ID “A_account” and the device ID “A_dev_id”) to the network service n0.
  • Step S132 The network service n0 (in other words, the server 50 that provides the network service n0) acquires identification information for specifying the user terminal 10a from the user terminal 10b.
  • the network service n0 searches the social graph based on the acquired identification information, and confirms whether the user terminal 10b and the user terminal 10a are associated. In the example illustrated in FIG. 14, the network service n0 checks whether the user ID “B_account” and the device ID “B_dev_id” are associated with the user ID “A_account” and the device ID “A_dev_id” via the social graph.
  • the network service n0 acquires the encryption key key_A associated with the user terminal 10a via the social graph.
  • Step S133 If the encryption key key_A can be acquired, the network service n0 returns the acquired encryption key key_A to the user terminal 10b. At this time, for example, the network service n0 stores the acquired encryption key key_A in the public key information d350 of the communication data d30a, and transmits the communication data d30a to the user terminal 10b, whereby the encryption key key_A is transmitted to the user terminal. You may return to 10b.
  • the network service n0 may notify the user terminal 10b that the acquisition of the encryption key key_A has failed. By receiving the notification from the network service n0, the user terminal 10b can recognize that it is not associated with the user terminal 10a on the network service n0. In this case, the user terminal 10b does not regard the user terminal 10a as a reliable partner, and may end a series of processes without establishing communication.
  • the key acquisition unit 142 of the user terminal 10b After acquiring the encryption key key_A, the key acquisition unit 142 of the user terminal 10b associates the acquired encryption key key_A with the user ID, device ID, and ID type d110 acquired from the user terminal 10a to perform authentication processing of the user terminal 10b. Output to the unit 144.
  • the authentication processing unit 144 of the user terminal 10b described here corresponds to the “authentication processing unit 133” when operating as the “user terminal 10 on the identification information transmitting side”. Therefore, hereinafter, when “authentication processing unit 133” is described, the configuration is the same as that of “authentication processing unit 144”.
  • the authentication processing unit 144 of the user terminal 10b acquires the user ID, device ID, and ID type d110 transmitted from the user terminal 10a from the identification information acquisition unit 141.
  • the authentication processing unit 144 of the user terminal 10b extracts the encryption key associated with the acquired user ID, device ID, and ID type d110 from the key information storage unit 143. If the corresponding encryption key is already stored in the key information storage unit 143, the authentication processing unit 144 succeeds in extracting the encryption key. In the example shown in FIG. 14, the encryption key key_A is extracted.
  • the authentication processing unit 144 of the user terminal 10b fails to extract the encryption key. If extraction of the encryption key fails, the authentication processing unit 144 of the user terminal 10b acquires the encryption key associated with the user ID, device ID, and ID type d110 from the key acquisition unit 142. In the example illustrated in FIG. 14, the encryption key key_A is acquired. In the following description, it is assumed that the authentication processing unit 144 of the user terminal 10b has acquired the encryption key key_A.
  • Step S112 Here, attention is again paid to the processing of the user terminal 10a.
  • the authentication processing unit 144 of the user terminal 10a encrypts data based on the encryption key key_B corresponding to the extracted user terminal 10b, and exchanges data with the user terminal 10b specified by the acquired user ID and device ID. Execute the authentication process.
  • the authentication processing unit 144 of the user terminal 10a uses the mutual encryption key and the decryption key between the user terminal 10a and the user terminal 10b (hereinafter referred to as “NANCE”). May be called). Specifically, the authentication processing unit 144 of the user terminal 10a creates a character string by a predetermined method. This created character string corresponds to “NONCE”.
  • the method for generating “NONCE” is not particularly limited. For example, it may be a randomly generated character string or a character string combining predetermined information such as date, time, user ID, and device ID.
  • the authentication processing unit 144 of the user terminal 10a encrypts the generated NANCE with the encryption key key_B corresponding to the extracted user terminal 10b.
  • NONCE encrypted with the encryption key key_B may be described as “key_B: NANCE”.
  • Step S113 The authentication processing unit 144 of the user terminal 10a transmits key_B: NANCE encrypted with the encryption key key_B to the user terminal 10b.
  • the authentication processing unit 144 of the user terminal 10a may store the encrypted key_B: NANCE in the NONCEd 340 of the communication data d30a and transmit the communication data d30a to the user terminal 10b.
  • Step S102 The authentication processing unit 133 (that is, the above-described authentication processing unit 144) of the user terminal 10b acquires key_B: NONE encrypted with the encryption key key_B from the user terminal 10a.
  • the authentication processing unit 133 of the user terminal 10b decrypts the acquired key_B: NANCE with a decryption key corresponding to itself (user terminal 10b) stored in the key information storage unit 132. After decrypting key_B: NANCE, the authentication processing unit 133 of the user terminal 10b re-encrypts the decrypted NANCE based on the encryption key key_A corresponding to the extracted user terminal 10a.
  • NONE encrypted with the encryption key key_A may be referred to as “key_A: NANCE”.
  • Step S103 The authentication processing unit 133 of the user terminal 10b transmits key_A: NONCE encrypted with the encryption key key_A to the user terminal 10a.
  • the authentication processing unit 133 of the user terminal 10b may store the encrypted key_A: NANCE in the NONEd 340 of the communication data d30a and transmit the communication data d30a to the user terminal 10a.
  • Step S114 The authentication processing unit 144 of the user terminal 10a obtains key_A: NONE encrypted with the encryption key key_A from the user terminal 10b.
  • the authentication processing unit 144 of the user terminal 10a decrypts the acquired key_A: NONE with the decryption key corresponding to itself (user terminal 10a) stored in the key information storage unit 132.
  • Step S115 key_A: After decrypting NONE, the authentication processing unit 144 of the user terminal 10a compares the decrypted NANCE with the NANCE generated by itself (NONE before encryption with the encryption key key_B). At this time, if encryption and decryption are correctly performed in both of the user terminals 10a and 10b, the decrypted NANCE matches the NANCE generated by the user terminal 10a. In this case, the authentication processing unit 144 of the user terminal 10a can recognize the connection destination user terminal 10b as a reliable partner.
  • Step S116 If the decrypted NONE matches the NONE generated by itself, the authentication processing unit 144 of the user terminal 10a encrypts information for establishing an interconnection with the user (user terminal 10a) with the encryption key key_B.
  • information for establishing an interconnection with the user terminal 10a include access point information.
  • information for establishing an interconnection with the user terminal 10a may be described as “A_access_point”.
  • A_access_point encrypted with the encryption key key_B may be described as “key_B: A_access_point”.
  • Step S118 Further, when the decrypted NONE matches the NONE generated by itself, the authentication processing unit 144 of the user terminal 10a recognizes that the encryption key key_B used in communication with the user terminal 10b is a correct encryption key. can do.
  • the authentication processing unit 144 of the user terminal 10a confirms whether or not the acquired encryption key key_B is stored in the key information storage unit 143.
  • the authentication processing unit 144 of the user terminal 10a uses the encryption key key_B associated with the user ID, the device ID, and the ID type d110 as key information.
  • the data is stored in the storage unit 143.
  • the authentication processing unit 144 of the user terminal 10a transmits the encryption key key_B via the network service n0 when communicating with the user terminal 10b thereafter. There is no need to acquire it again. That is, the authentication processing unit 144 of the user terminal 10a can use the “method of using the partner's key” as a method of authenticating each other with the user terminal 10b.
  • Step S108 The authentication processing unit 133 of the user terminal 10b acquires key_B: A_access_point encrypted with the encryption key key_B from the user terminal 10a.
  • the authentication processing unit 133 of the user terminal 10b recognizes that the encryption key key_A used for communication with the user terminal 10a is a correct encryption key. can do.
  • the authentication processing unit 133 of the user terminal 10b confirms whether or not the acquired encryption key key_A is stored in the key information storage unit 132.
  • the key information storage unit 132 of the user terminal 10b described here corresponds to the “key information storage unit 143” when operating as the “user terminal 10 on the identification information receiving side”. Therefore, hereinafter, information stored in the “key information storage unit 143” when the user terminal 10b operates as “the user terminal 10 that receives the identification information” is similarly stored in the key information storage unit 132. It will be described as being.
  • the authentication processing unit 133 of the user terminal 10b uses the encryption key key_A associated with the user ID, the device ID, and the ID type d110 as the key information.
  • the data is stored in the storage unit 132.
  • the authentication processing unit 133 of the user terminal 10b transmits the encryption key key_A via the network service n0 when communicating with the user terminal 10a thereafter. There is no need to acquire it again.
  • the authentication processing unit 133 of the user terminal 10b can use the “method of using the partner's key” as a method of authenticating each other with the user terminal 10a.
  • Step S109 Further, after decrypting key_B: A_access_point, the authentication processing unit 133 of the user terminal 10b connects to the user terminal 10a based on the decrypted access point information A_access_point. Thereby, an interconnection is established between the user terminal 10a and the user terminal 10b.
  • the user terminal 10a when the user terminal 10a receives a connection request from another user terminal 10b, the user terminals 10a and 10b are associated on the network service n0. Make sure that When the user terminals 10a and 10b are associated on the network service n0, the user terminal 10a acquires the encryption key key_B corresponding to the user terminal 10b via the network service n0, and Encrypted communication between them. That is, according to the wireless communication system according to the present embodiment, it is possible to simply and safely ensure security during communication when establishing an interconnection between different user terminals 10a and 10b. Thereby, the user of each user terminal 10 can join the user terminal 10 operated by the user terminal 10 to the ad hoc network without performing a complicated operation.
  • FIG. 15 is a sequence diagram showing an example of a communication processing sequence in the wireless communication system according to the present embodiment, and shows a series of sequences when the identification information is encrypted.
  • the example illustrated in FIG. 15 illustrates a case where the user terminal 10b issues a connection request to the user terminal 10a.
  • the description will be focused on parts different from the contents described in “1.4. Communication sequence (method of not encrypting identification information)”, and description of similar parts will be omitted.
  • the identification information notifying unit 136 of the user terminal 10b is the identification information encrypted with the encryption key key_S among the identification information for specifying the user terminal 10b stored as the owner information d10 in the identification information storage unit 135. Is distributed to the user terminal 10a.
  • the encryption key key_S is an encryption key unique to the network service n0 managed on the network service n0.
  • the identification information notification unit 136 identifies the user ID “B_account” of the user ub on the network service n0 and the device ID “B_dev_id” of the user terminal 10b, which are encrypted with the encryption key key_S. It is distributed as information.
  • the user ID “B_account” encrypted with the encryption key “key_S” may be described as “key_S: B_account”.
  • the device ID “B_dev_id” encrypted with the encryption key key_S may be described as “key_S: B_dev_id”. That is, in FIG. 15, the identification information notification unit 136 of the user terminal 10b distributes the encrypted user ID “key_S: B_account” and the encrypted device ID “key_S: B_dev_id” to the user terminal 10a. Yes.
  • the identification information notification unit 136 of the user terminal 10b may also notify the user terminal 10a of the ID type d110.
  • the user terminal 10a that has received the ID type d110 recognizes which network service n0 the user ID “key_S: B_account” is based on the ID type and which method is permitted as a method of authenticating each other. it can.
  • the ID type d120 will be described assuming that “a method for encrypting identification information” is set as a method for authenticating each other. In other words, this ID type d120 allows the user terminal 10a to recognize that the user ID “key_S: B_account” is encrypted with the service-specific encryption key key_S.
  • Step S211 The identification information acquisition unit 141 of the user terminal 10a acquires identification information for identifying the user terminal 10b encrypted with the service-specific encryption key key_S from the user terminal 10b. At this time, the user terminal 10a returns identification information for identifying itself on the network service n0 to the user terminal 10b. In this case, the user terminal 10 a operates as “the user terminal 10 on the identification information transmission side”. Hereinafter, the operation of the user terminal 10a in this case will be described as the process of step S211.
  • the identification information notification unit 136 of the user terminal 10a extracts the identification information for identifying itself from the identification information storage unit 135. At this time, the identification information notification unit 136 acquires the identification information from the owner information d10 corresponding to the same type as the ID type d110 notified from the user terminal 10b. In this case, the identification information encrypted with the service-specific encryption key key_S used by the user terminal 10b to encrypt the identification information is extracted.
  • the identification information notification unit 136 may not make a response to the user terminal 10b. At this time, the identification information notification unit 136 may notify the user terminal 10b that a response cannot be made.
  • the identification information notification unit 136 of the user terminal 10a When the identification information is extracted from the identification information storage unit 135, the identification information notification unit 136 of the user terminal 10a returns the extracted identification information (that is, identification information encrypted with the encryption key key_S) to the user terminal 10b. .
  • the identification information notification unit 136 is encrypted with the encryption key key_S, the user ID “A_account” for specifying the user ua on the network service n0, and the self-confidence device ID “A_dev_id”. Is returned as identification information.
  • the user ID “A_account” encrypted with the encryption key “key_S” may be described as “key_S: A_account”.
  • the identification information notifying unit 136 of the user terminal 10a distributes the encrypted user ID “key_S: A_account” and the encrypted device ID “key_S: A_dev_id” to the user terminal 10b. Yes.
  • the identification information notification unit 136 of the user terminal 10a may also notify the user terminal 10b of the ID type d110 indicating the user ID of which network service n0 the user ID “A_account” is.
  • the identification information acquisition unit 141 of the user terminal 10a transmits the encrypted identification information (that is, the user ID “key_S: B_account” and the device ID “key_S: B_dev_id”) for specifying the acquired user terminal 10b to the network.
  • the encrypted identification information that is, the user ID “key_S: B_account” and the device ID “key_S: B_dev_id”
  • the network service n0 Send to service n0.
  • information is assumed to be unicast between the user terminal 10a, the user terminal 10b, and the network service n0 based on the communication data d30a shown in FIG.
  • the network service n0 (in other words, the server 50 that provides the network service n0) is identified from the user terminal 10a by the identification information for identifying the user terminal 10b (ie, the user ID) encrypted with the service-specific encryption key key_S. “Key_S: B_account” and device ID “key_S: B_dev_id”).
  • the network service n0 decrypts the identification information encrypted with the encryption key key_S with its own decryption key. Thereby, the network service n0 acquires the user ID “B_account” and the device ID “B_dev_id”.
  • the network service n0 searches the social graph based on the acquired identification information, and confirms whether the user terminal 10a and the user terminal 10b are associated with each other. In the example illustrated in FIG. 15, the network service n0 checks whether the user ID “A_account” and the device ID “A_dev_id” are associated with the user ID “B_account” and the device ID “B_dev_id” via the social graph. Note that the network service n0 may notify the identification information acquisition unit 141 of the user terminal 10a of the search result of the social graph, that is, the confirmation result of whether the user terminal 10a and the user terminal 10b are associated with each other. Moreover, the process which searches a social graph on the network service n0 may be performed by the user terminal 10a. In that case, network service n0 should just provide the user terminal 10a with the data and program for performing the process which concerns on the search of a social graph.
  • the network service n0 acquires the encryption key key_B associated with the user terminal 10b via the social graph.
  • Step S223 When the encryption key key_B can be acquired, the network service n0 encrypts the acquired encryption key key_B with the encryption key key_A associated with the user terminal 10a and managed on the network service n0.
  • the encryption key key_B encrypted with the encryption key key_A may be described as “key_A: key_B”.
  • the network service n0 returns the encryption key “key_A: key_B” encrypted with the encryption key key_A to the key acquisition unit 142 of the user terminal 10a.
  • the network service n0 may notify the user terminal 10a that acquisition of the encryption key key_B has failed. By receiving the notification from the network service n0, the user terminal 10a can recognize that it is not associated with the user terminal 10b on the network service n0. In this case, the user terminal 10a does not regard the user terminal 10b as a reliable partner, and may end a series of processes without establishing communication.
  • the key acquisition unit 142 of the user terminal 10a transmits the acquired encryption key “key_A: key_B” to the user terminal 10a stored in the key information storage unit 143. Decrypt with the corresponding decryption key. Thereby, the key acquisition unit 142 of the user terminal 10a acquires the encryption key key_B. After acquiring the encryption key key_B, the key acquisition unit 142 of the user terminal 10a associates the encryption key key_B with the user ID, device ID, and ID type d110 acquired from the user terminal 10b to authenticate the user terminal 10a. Output to.
  • Step S231 Similarly to the user terminal 10a, the user terminal 10b acquires encrypted identification information for specifying the user terminal 10a from the user terminal 10a.
  • the user terminal 10b operates as “the user terminal 10 on the identification information receiving side” (see FIG. 7).
  • the identification information acquisition unit 141 of the user terminal 10b acquires encrypted identification information for specifying the user terminal 10a from the user terminal 10a.
  • the identification information acquisition unit 141 of the user terminal 10b receives the encrypted identification information for identifying the acquired user terminal 10a (that is, the user ID “key_S: A_account” and the device ID “key_S: A_dev_id”) for the network service n0. Send to.
  • Step S232 The network service n0 (in other words, the server 50 that provides the network service n0) acquires identification information for specifying the user terminal 10a encrypted with the service-specific encryption key key_S from the user terminal 10b.
  • the network service n0 decrypts the identification information encrypted with the encryption key key_S with its own decryption key. Thereby, the network service n0 acquires the user ID “A_account” and the device ID “A_dev_id”.
  • the network service n0 searches the social graph based on the acquired identification information, and confirms whether the user terminal 10a and the user terminal 10b are associated with each other. In the example illustrated in FIG. 15, the network service n0 checks whether the user ID “A_account” and the device ID “A_dev_id” are associated with the user ID “B_account” and the device ID “B_dev_id” via the social graph.
  • the network service n0 acquires the encryption key key_A associated with the user terminal 10a via the social graph.
  • Step S233 When the encryption key key_A is acquired, the network service n0 encrypts the acquired encryption key key_A with the encryption key key_B associated with the user terminal 10b and managed on the network service n0.
  • the encryption key key_A encrypted with the encryption key key_B may be described as “key_B: key_A”.
  • the network service n0 returns the encryption key “key_B: key_A” encrypted with the encryption key key_B to the key acquisition unit 142 of the user terminal 10b.
  • the network service n0 may notify the user terminal 10b that the acquisition of the encryption key key_A has failed. By receiving the notification from the network service n0, the user terminal 10b can recognize that it is not associated with the user terminal 10a on the network service n0. In this case, the user terminal 10b does not regard the user terminal 10a as a reliable partner, and may end a series of processes without establishing communication.
  • the key acquisition unit 142 of the user terminal 10b transmits the acquired encryption key “key_B: key_A” to the user terminal 10b stored in the key information storage unit 143. Decrypt with the corresponding decryption key. Thereby, the key acquisition unit 142 of the user terminal 10b acquires the encryption key key_A.
  • the key acquisition unit 142 of the user terminal 10b associates the encryption key key_A with the user ID, device ID, and ID type d110 acquired from the user terminal 10a, and the authentication processing unit 144 of the user terminal 10b. Output to.
  • the user terminals 10a and 10b can encrypt each other's identification information and transmit / receive them. Thereby, the user terminals 10a and 10b can authenticate each other more safely than the “method of encrypting identification information”.
  • FIG. 16 is a sequence diagram showing an example of a communication processing sequence in the wireless communication system according to the present embodiment, and shows a series of sequences when the public key of the communication partner has already been acquired. In the following description, it is assumed that the user terminal 10b has received the beacon b10 broadcast by the user terminal 10a.
  • Step S301 The user terminal 10b receives the beacon b10 broadcast by the user terminal 10a. At this time, the user terminal 10b operates as the user terminal 10 that receives the identification information (see FIG. 5). That is, the identification information acquisition unit 141 of the user terminal 10b acquires identification information for specifying the user terminal 10a from the user terminal 10a. At this time, the identification information acquisition unit 141 of the user terminal 10b also acquires information indicating the ID type d110.
  • the identification information acquisition unit 141 of the user terminal 10b acquires the communication data d20 from the user terminal 10a as the beacon b10.
  • the identification information acquisition unit 141 of the user terminal 10b extracts each owner information field d253 stored in the owner information d250 from the acquired communication data d20.
  • the identification information acquisition unit 141 of the user terminal 10b refers to the ID type d110 stored in the ID type region d254 of each extracted owner information field d253, and the user terminal 10a uses “the other party's key” as a method of authenticating each other. Confirm whether or not "how to use" is permitted.
  • the identification information acquisition unit 141 of the user terminal 10b when the ID type d110 includes the owner information d10 of “encryption account for internal record search”, the user terminal 10a Recognize that the "method of using" is allowed.
  • the identification information acquisition unit 141 of the user terminal 10b is set with the corresponding ID type d110 from the owner information d250 of the beacon b10.
  • the owner information field d253 is extracted.
  • the identification information acquisition part 141 extracts the user ID set to the user ID area
  • the identification information acquisition unit 141 accesses the network service n0 indicated by the ID type d110 and decrypts the user ID. Thereby, the identification information acquisition unit 141 of the user terminal 10b can recognize the identification information (for example, user ID and device ID) of the user terminal 10a.
  • the user terminal 10b operates as the user terminal 10 that transmits identification information. That is, the identification information notification unit 136 of the user terminal 10b acquires the user ID, device ID, and ID type d110 from the identification information acquisition unit 141. The identification information notification unit 136 extracts the encryption key associated with the acquired user ID, device ID, and ID type d110 from the key information storage unit 132.
  • the key information storage unit 132 of the user terminal 10b described here corresponds to the “key information storage unit 143” when operating as the “user terminal 10 on the identification information receiving side”. Therefore, hereinafter, information stored in the “key information storage unit 143” when the user terminal 10b operates as “the user terminal 10 that receives the identification information” is similarly stored in the key information storage unit 132. It will be described as being.
  • the identification information notification unit 136 extracts the encryption key key_A corresponding to the user terminal 10a. If the encryption key cannot be extracted, the identification information notification unit 136 uses the above-described “method of not encrypting the identification information” and “method of encrypting the identification information” as described above. You may authenticate each other between the terminals 10a. In the following description, it is assumed that the identification information notification unit 136 has extracted the encryption key key_A.
  • the identification information notification unit 136 of the user terminal 10b After extracting the encryption key key_A, the identification information notification unit 136 of the user terminal 10b extracts the user ID of the network service n0 corresponding to the extracted encryption key key_A from the owner information d10 stored in the identification information storage unit 135. Specifically, the identification information notification unit 136 refers to the ID type d110 of each owner information d10, and specifies the owner information d10 corresponding to the network service n0 corresponding to the encryption key key_A. The identification information notification unit 136 may extract the user ID from the owner ID d120 of the specified owner information d10.
  • the identification information notification unit 136 of the user terminal 10b encrypts the identification information for specifying the user terminal 10b with the encryption key key_A.
  • the identification information notification unit 136 of the user terminal 10b uses the encryption key “key_A” and the user ID “B_acccount” in the network service n0 of the user ub and the device ID “B_dev_id” for specifying the user terminal 10b. It encrypts with.
  • the user ID “B_acccount” encrypted with the encryption key key_A may be described as “key_A: B_account”.
  • the device ID “B_dev_id” encrypted with the encryption key key_A may be described as “key_A: B_dev_id”.
  • the identification information notification unit 136 of the user terminal 10b transmits identification information for identifying the user terminal 10b encrypted with the encryption key key_A to the user terminal 10a.
  • the identification information notification unit 136 may also transmit the ID type d110 indicating that the identification information to be transmitted is “internal record search encryption account” to the user terminal 10a.
  • the user terminal 10a can recognize which network service n0 the received identification information corresponds to and that it is encrypted with its own encryption key key_A. In the following description, it is assumed that the identification information notification unit 136 transmits the ID type d110 to the user terminal 10a.
  • the identification information notifying unit 136 of the user terminal 10b is described as transmitting the encrypted user ID “key_A: B_acccount” and the encrypted device ID “key_A: B_dev_id” to the user terminal 10a. To do. Further, hereinafter, information is assumed to be unicast between the user terminals 10a and 10b based on the communication data d30a shown in FIG.
  • Step S311 The identification information acquisition unit 141 of the user terminal 10a acquires the user ID “B_acccount” and the device ID “B_dev_id” encrypted with the encryption key key_A as identification information for specifying the user terminal 10b from the user terminal 10b. .
  • the identification information acquisition unit 141 determines whether the acquired identification information indicates “internal record search encryption account” based on the ID type d110 acquired from the user terminal 10b.
  • the acquired ID type d110 will be described as indicating “internal record search encryption account”.
  • the identification information acquisition unit 141 of the user terminal 10a is the decryption key corresponding to the user terminal 10a stored in the key information storage unit 143, and the encrypted user ID “key_A: B_acccount” and the encrypted device ID “key_A”. : B_dev_id ".
  • the identification information acquisition unit 141 acquires the decrypted user ID “B_acccount” and the device ID “B_dev_id”.
  • Step S312 The identification information acquisition unit 141 extracts, from the key information storage unit 143, the encryption key associated with the type of the network service n0 indicated by the ID type d110, the decrypted user ID “B_acccount”, and the device ID “B_dev_id”. In this case, the encryption key key_B corresponding to the user terminal 10b is extracted.
  • Step S112 The authentication processing unit 144 of the user terminal 10a encrypts data based on the encryption key key_B corresponding to the extracted user terminal 10b, and exchanges data with the user terminal 10b specified by the acquired user ID and device ID. Execute the authentication process.
  • the subsequent processes are the same as those described in “1.4. Communication sequence (method of not encrypting identification information)” and “1.5. Communication sequence (method of encrypting identification information)”. Therefore, detailed description is omitted.
  • the user terminals 10a and 10b when authenticating each other based on the “method of using the partner's key”, the user terminals 10a and 10b confirm whether the user terminals 10a and 10b are associated with each other via the network service n0. There is no need. Therefore, it is possible to limit the number of times the user terminals 10a and 10b access the network service n0 compared to the “method of not encrypting identification information” and the “method of encrypting identification information”. Thereby, the user terminals 10a and 10b can reduce the load accompanying access to the external network such as the network service n0 when authenticating each other.
  • the user terminal 10b determines whether or not the owner information d250 includes information indicating that the ID type d110 is “internal record search encryption account”. It was determined whether the “method of using the partner's key” was available. On the other hand, when the user terminal 10b has already exchanged the encryption key with the user terminal 10a, the user terminal 10b may operate to automatically select the “method of using the partner's key”. . In this case, the user terminal 10b specifies the identification information of the user terminal 10a based on the owner information d10 whose ID type d110 is “account” or “encrypted account”.
  • the user terminal 10b may operate so as to select the “method of using the partner's key”. In this case, it is not always necessary to set information indicating “encryption account for internal record search” in the ID type d110.
  • the wireless communication system for example, when the user terminal 10a receives a connection request from another user terminal 10b, the user terminals 10a and 10b are associated on the network service n0. Make sure that When the user terminals 10a and 10b are associated on the network service n0, the user terminal 10a acquires the encryption key key_B corresponding to the user terminal 10b via the network service n0, and Encrypted communication between them. That is, according to the wireless communication system according to the present embodiment, it is possible to simply and safely ensure security during communication when establishing an interconnection between different user terminals 10a and 10b. Thereby, the user of each user terminal 10 can join the user terminal 10 operated by the user terminal 10 to the ad hoc network without performing a complicated operation.
  • the present invention is not limited to the above example as long as the user terminal 10 can be uniquely specified on the network service n0.
  • the encryption key can be acquired by specifying the connection-destination user terminal 10 only by association between users on the network service n0. Good.
  • association by the social graph of the network service n0 is not limited to only between users.
  • the user terminals 10 owned by each user may be directly associated.
  • FIG. 17 is a diagram illustrating another example of the association between the user terminals 10 on the network service n0, and describes an example in which the user terminals 10 are directly associated with each other.
  • the user terminal 10a3 possessed by the user ua and the user terminal 10b3 possessed by the user ub are directly associated (relationship c12).
  • the connection-destination user terminal 10 can be specified based on the social graph that associates the user terminals 10 with each other.
  • the user terminal 10 may be registered directly with the network service n0 without using a user ID.
  • FIG. 18 is a diagram illustrating another example of association between the user terminals 10 on the network service n0, and illustrates an example in which the user terminal 10 is directly registered in the network service n0.
  • the user terminals 10a to 10f are registered on the network service n0, and the user terminal 10a and the user terminal 10d are directly associated (relation c13). Even in the case of such a configuration, it is possible to identify the connection destination user terminal 10 based on the social graph that associates the user terminals 10 with each other.
  • the example shown above is only an example, and if the encryption key can be acquired by specifying the connection destination user terminal 10 via the social graph on the network service n0, the type of association information and the association method are limited. Not.
  • Second Embodiment> [2.1. Overview of wireless communication system]
  • the wireless communication system according to the first embodiment the example in which both the user terminals 10a and 10b acquire the other party's encryption key from the network service n0 and authenticate each other has been described.
  • the second embodiment is different from the first embodiment in that one of the user terminals 10a and 10b only needs to acquire the other party's encryption key key_B from the network service n0.
  • the user terminal 10a acquires the other party's encryption key key_B from the network service n0, encrypts its own encryption key key_A with the acquired encryption key key_B, and transmits it to the other party.
  • the user terminal 10b obtains the encryption key key_A by obtaining the encrypted encryption key key_A from the user terminal 10a and decrypting the obtained encrypted encryption key key_A with its own decryption key.
  • FIG. 19 is a diagram illustrating an example of a data structure of communication data d30b for transmitting and receiving information in the wireless communication system according to the present embodiment.
  • the communication data d30b according to the present embodiment is different from the communication data d30a according to the first embodiment (see FIG. 13) in that the communication data d30b does not include NONCEd 340.
  • the user terminal 10a encrypts the encryption key key_A corresponding to the user terminal 10a with the encryption key key_B of the user terminal 10b that is the connection destination, instead of NONE, to other user terminals.
  • the user terminal 10a Only the user terminal 10b can decrypt the encryption key key_A encrypted with the encryption key key_B with a decryption key corresponding to itself. Therefore, the user terminal 10a can safely send the encryption key key_A corresponding to itself only to the user terminal 10b that can decrypt the information encrypted with the encryption key key_B. Details will be described later.
  • FIG. 20 is a sequence diagram showing an example of a communication processing sequence in the wireless communication system according to the present embodiment, and shows a series of sequences when the identification information is not encrypted.
  • the example illustrated in FIG. 20 illustrates a case where the user terminal 10b issues a connection request to the user terminal 10a.
  • the identification information notification unit 136 of the user terminal 10b distributes identification information for identifying the user terminal 10b on the network service n0 to the user terminal 10a.
  • the identification information notification unit 136 distributes the user ID “B_account” of the user ub on the network service n0 and the device ID “B_dev_id” of the user terminal 10b to the user terminal 10a as the identification information. Yes.
  • the identification information notification unit 136 of the user terminal 10b may also notify the user terminal 10a of the ID type d110. Accordingly, the user terminal 10a that has received the ID type d110 determines which network service n0 is the user ID of the user ID “B_account” based on the ID type and which method is permitted as a method of authenticating each other. Can be recognized.
  • the ID type d120 will be described assuming that “a method for not encrypting identification information” is set as a method for authenticating each other.
  • “method of encrypting identification information” and “method of using partner's key” are set as methods for authenticating each other, “2.3. Communication sequence (method of encrypting identification information)” ”And“ 2.4. Communication sequence (method of using the partner's key) ”, respectively.
  • the identification information notification unit 136 of the user terminal 10b may be distributed to the user terminal 10a by broadcasting the identification information for specifying the user terminal 10b.
  • the identification information notification unit 136 of the user terminal 10b distributes (broadcasts) the identification information for specifying the user terminal 10b to the user terminal 10a, for example, as the beacon b10 (see FIG. 9) at the time of passive scanning. May be.
  • the identification information notification unit 136 of the user terminal 10b may unicast the identification information toward the user terminal 10a.
  • the identification information notification unit 136 of the user terminal 10b distributes (unicasts) identification information for specifying the user terminal 10b to the user terminal 10a as a response message b30 to the request message b20 from the user terminal 10a. May be.
  • Step S411 When the identification information notification unit 136 of the user terminal 10b unicasts identification information for specifying the user terminal 10b to the user terminal 10a, the user terminal 10a receives the information acquired from the user terminal 10b. It may be determined whether or not. In this case, for example, the user terminal 10a has its own information (that is, the user ID of the user ua and the device ID of the user terminal 10a) set in the receiver information d330 of the communication data d30b (see FIG. 19). Whether or not it is addressed to itself may be determined based on whether or not it is present. Note that if the information acquired from the user terminal 10b is not addressed to the user terminal 10a, the user terminal 10a may transmit a rejection notice to the user terminal 10b and immediately terminate the communication sequence.
  • the user terminal 10a may transmit a rejection notice to the user terminal 10b and immediately terminate the communication sequence.
  • Steps S121 to S123 Note that the processes related to steps S121 to S123 according to the present embodiment are the same as steps S121 to S123 (see FIG. 14) of the wireless communication system according to the first embodiment described above. That is, the identification information acquisition unit 141 of the user terminal 10a transmits the identification information for specifying the acquired user terminal 10b to the network service n0. As a response, the key information acquisition unit 141 of the user terminal 10a acquires the encryption key key_B corresponding to the user terminal 10b. The key information acquisition unit 141 outputs the acquired encryption key key_B to the authentication processing unit of the authentication processing unit 144 of the user terminal 10a in association with the user ID, device ID, and ID type d110 acquired by the identification information acquisition unit 141. . In the following, it is assumed that information is unicast between the user terminal 10a, the user terminal 10b, and the network service n0 based on the communication data d30b shown in FIG.
  • Step S412 If acquisition of the encryption key key_B fails, the network service n0 may notify the user terminal 10a that acquisition of the encryption key key_B has failed. By receiving the notification from the network service n0, the user terminal 10a can recognize that it is not associated with the user terminal 10b on the network service n0. In this case, the user terminal 10a does not regard the user terminal 10b as a reliable partner, and may end a series of processes without establishing communication.
  • the user terminal 10b when the user terminal 10b does not receive a response from the network service n0 within a predetermined time (that is, when the encryption key key_B cannot be acquired within the predetermined time), the user terminal 10b similarly acquires the encryption key key_B.
  • the user terminal 10a may be notified of the failure.
  • Step S413 If the encryption key key_B can be acquired, the authentication processing unit 144 of the user terminal 10a checks whether the acquired encryption key key_B is stored in the key information storage unit 143. When the encryption key key_B is not stored in the key information storage unit 143, the authentication processing unit 144 of the user terminal 10a uses the encryption key key_B associated with the user ID, the device ID, and the ID type d110 as key information. The data is stored in the storage unit 143. As described above, by storing the encryption key key_B in the key information storage unit 143, the authentication processing unit 144 of the user terminal 10a transmits the encryption key key_B via the network service n0 when communicating with the user terminal 10b thereafter. There is no need to acquire it again. That is, the authentication processing unit 144 of the user terminal 10a can use the “method of using the partner's key” as a method of authenticating each other with the user terminal 10b.
  • Step S4114 the authentication processing unit 144 of the user terminal 10a extracts the encryption key key_A corresponding to the user terminal 10a stored in the key information storage unit 143.
  • the authentication processing unit 144 of the user terminal 10a encrypts information for establishing an interconnection with the user terminal 10a with the encryption key key_B.
  • Examples of information for establishing an interconnection with the user terminal 10a include access point information.
  • information for establishing an interconnection with the user terminal 10a may be described as “A_access_point”.
  • A_access_point encrypted with the encryption key key_B may be described as “key_B: A_access_point”.
  • the authentication processing unit 144 of the user terminal 10a transmits identification information for specifying the user terminal 10a, the encryption key key_A, and key_B: A_access_point encrypted with the encryption key key_B to the user terminal 10b.
  • the authentication processing unit 144 uses the user ID “A_account” of the user ua on the network service n0 and the device ID “A_dev_id” of the user terminal 10a as the identification information.
  • the authentication processing unit 144 transmits a user ID “A_account” and a device ID “A_dev_id” as identification information to the user terminal 10b.
  • the user terminal 10a may transmit the ID type d110 to the user terminal 10b as information for specifying the type of the network service n0.
  • the authentication processing unit 144 of the user terminal 10a transmits the ID type d110 to the user terminal 10b.
  • Step S402 The authentication processing unit 133 of the user terminal 10b acquires A_account, A_dev_id, key_A, and key_B: A_access_point encrypted with the encryption key key_B from the user terminal 10a.
  • the authentication processing unit 133 of the user terminal 10b may acquire the ID type d110 from the user terminal 10a. By acquiring the ID type d110, the authentication processing unit 133 can recognize which network service n0 the user ID “A_account” corresponds to.
  • the authentication processing unit 133 of the user terminal 10b decrypts key_B: A_access_point with the decryption key corresponding to itself stored in the key information storage unit 132. Thereby, the authentication processing unit 133 acquires the decrypted access point information A_access_point.
  • Step S403 The authentication processing unit 133 of the user terminal 10b confirms whether or not the acquired encryption key key_A is stored in the key information storage unit 132.
  • the key information storage unit 132 of the user terminal 10b described here corresponds to the “key information storage unit 143” when operating as the “user terminal 10 on the identification information receiving side”. Therefore, hereinafter, information stored in the “key information storage unit 143” when the user terminal 10b operates as “the user terminal 10 that receives the identification information” is similarly stored in the key information storage unit 132. It will be described as being.
  • the authentication processing unit 133 of the user terminal 10b uses the acquired user ID “A_account” and device ID “A_dev_id” and the ID type d110. It is associated with the encryption key key_A.
  • the authentication processing unit 133 causes the key information storage unit 132 to store the encryption key key_A in which the user ID “A_account” and the device ID “A_dev_id” are associated with the ID type d110.
  • Step S409 Further, after decrypting key_B: A_access_point, the authentication processing unit 133 of the user terminal 10b connects to the user terminal 10a based on the decrypted access point information A_access_point. Thereby, an interconnection is established between the user terminal 10a and the user terminal 10b.
  • the user terminal 10a accesses the network service n0 to obtain the encryption key key_B, and the user terminal 10b obtains the encryption key key_A of the user terminal 10a. It can be acquired from the user terminal 10a. That is, since the user terminal 10b does not need to access an external network such as the network service n0, it is possible to reduce the load associated with accessing the external network compared to the wireless communication system according to the first embodiment. It becomes.
  • the encryption key key_A of the user terminal 10a is encrypted with the encryption key key_B corresponding to the user terminal 10b and transmitted to the user terminal 10b. For this reason, the other user terminals 10 other than the user terminal 10b cannot decrypt the encryption key key_A even if the encrypted encryption key key_A is acquired, and thus securely transmit the encryption key key_A to the user terminal 10b. can do.
  • FIG. 21 is a sequence diagram showing an example of a communication processing sequence in the wireless communication system according to the present embodiment, and shows a series of sequences when the identification information is encrypted. Note that the example illustrated in FIG. 21 illustrates a case where the user terminal 10b issues a connection request to the user terminal 10a. In the following description, the description will be made focusing on portions different from the content described in “2.2. Communication Sequence (Method of Not Encrypting Identification Information)”, and description of similar portions will be omitted.
  • the identification information notifying unit 136 of the user terminal 10b is the identification information encrypted with the encryption key key_S among the identification information for specifying the user terminal 10b stored as the owner information d10 in the identification information storage unit 135. Is distributed to the user terminal 10a.
  • the encryption key key_S is an encryption key unique to the network service n0 managed on the network service n0.
  • the identification information notification unit 136 identifies the user ID “B_account” of the user ub on the network service n0 and the device ID “B_dev_id” of the user terminal 10b, which are encrypted with the encryption key key_S. It is distributed as information.
  • the user ID “B_account” encrypted with the encryption key “key_S” may be described as “key_S: B_account”.
  • the device ID “B_dev_id” encrypted with the encryption key key_S may be described as “key_S: B_dev_id”. That is, in FIG. 21, the identification information notification unit 136 of the user terminal 10b distributes the encrypted user ID “key_S: B_account” and the encrypted device ID “key_S: B_dev_id” to the user terminal 10a. Yes.
  • the identification information notification unit 136 of the user terminal 10b may also notify the user terminal 10a of the ID type d110.
  • the user terminal 10a that has received the ID type d110 recognizes which network service n0 the user ID “key_S: B_account” is based on the ID type and which method is permitted as a method of authenticating each other. it can.
  • the ID type d120 will be described assuming that “a method for encrypting identification information” is set as a method for authenticating each other. In other words, this ID type d120 allows the user terminal 10a to recognize that the user ID “key_S: B_account” is encrypted with the service-specific encryption key key_S.
  • Step S511) When the identification information notification unit 136 of the user terminal 10b unicasts identification information for specifying the user terminal 10b to the user terminal 10a, the user terminal 10a receives the information acquired from the user terminal 10b. It may be determined whether or not. In this case, for example, the user terminal 10a has its own information (that is, the user ID of the user ua and the device ID of the user terminal 10a) set in the receiver information d330 of the communication data d30b (see FIG. 19). Whether or not it is addressed to itself may be determined based on whether or not it is present.
  • the user terminal 10a has its own information (that is, the user ID of the user ua and the device ID of the user terminal 10a) set in the receiver information d330 of the communication data d30b (see FIG. 19). Whether or not it is addressed to itself may be determined based on whether or not it is present.
  • the user terminal 10a accesses the network service n0 and stores the information encrypted with the encryption key key_S. You may decode.
  • the user terminal 10a uses the encryption key based on the decryption key corresponding to the user terminal a. Information encrypted with key_A may be decrypted.
  • the user terminal 10a may transmit a rejection notice to the user terminal 10b and immediately terminate the communication sequence.
  • Steps S221 to S223) Note that the processing related to S221 to S223 according to the present embodiment is the same as S221 to S223 (see FIG. 15) of the wireless communication system according to the first embodiment described above. That is, the identification information acquisition unit 141 of the user terminal 10a transmits the encrypted identification information (that is, the user ID “key_S: B_account” and the device ID “key_S: B_dev_id”) for specifying the acquired user terminal 10b to the network. Send to service n0.
  • the encrypted identification information that is, the user ID “key_S: B_account” and the device ID “key_S: B_dev_id”
  • the key information acquisition unit 141 of the user terminal 10a encrypts with the encryption key key_A corresponding to itself from the network service n0, that is, the encryption key key_B corresponding to the user terminal 10b (that is, the encryption key “key_A: key_B”). )).
  • the key acquisition unit 142 of the user terminal 10a transmits the acquired encryption key “key_A: key_B” to the user terminal 10a stored in the key information storage unit 143. Decrypt with the corresponding decryption key. Thereby, the key acquisition unit 142 of the user terminal 10a acquires the encryption key key_B. After acquiring the encryption key key_B, the key acquisition unit 142 of the user terminal 10a associates the encryption key key_B with the user ID, device ID, and ID type d110 acquired from the user terminal 10b to authenticate the user terminal 10a. Output to.
  • Step S412 If acquisition of the encryption key key_B fails, the network service n0 may notify the user terminal 10a that acquisition of the encryption key key_B has failed. By receiving the notification from the network service n0, the user terminal 10a can recognize that it is not associated with the user terminal 10b on the network service n0. In this case, the user terminal 10a does not regard the user terminal 10b as a reliable partner, and may end a series of processes without establishing communication.
  • Step S413 If the encryption key key_B can be acquired, the authentication processing unit 144 of the user terminal 10a checks whether the acquired encryption key key_B is stored in the key information storage unit 143. If the encryption key key_B is not stored, the key information The storage unit 143 stores the encryption key keyB.
  • the process which concerns on step S413 which concerns on this embodiment is the same as that of S413 (refer FIG. 15) of the radio
  • the authentication processing unit 144 of the user terminal 10a extracts the encryption key key_A corresponding to itself stored in the key information storage unit 143.
  • the authentication processing unit 144 of the user terminal 10a uses the encryption key key_B to extract the extracted encryption key key_A, information for establishing mutual connection with the user (user terminal 10a), and identification information for specifying self-confidence. Encrypt.
  • the authentication processing unit 144 uses the user ID “A_account” of the user ua on the network service n0 and the device ID “A_dev_id” of the user terminal 10a as identification information for specifying self-confidence. Yes.
  • information for establishing an interconnection with the user terminal 10a for example, information on an access point can be cited.
  • information for establishing an interconnection with the user terminal 10a may be described as “A_access_point”.
  • key_A encrypted with the encryption key key_B may be described as “key_B: key_A”
  • A_access_point encrypted with the encryption key key_B may be described as “key_B: A_access_point”.
  • A_account encrypted with the encryption key key_B may be described as “key_B: A_account”
  • A_dev_id encrypted with the encryption key key_B may be described as “key_B: A_dev_id”.
  • the authentication processing unit 144 of the user terminal 10a transmits key_B: A_account, key_B: A_dev_id, key_B: key_A, and key_B: A_access_point encrypted with the encryption key key_B to the user terminal 10b.
  • the user terminal 10a may transmit the ID type d110 to the user terminal 10b as information for specifying the type of the network service n0.
  • the authentication processing unit 144 of the user terminal 10a transmits the ID type d110 to the user terminal 10b.
  • Step S502 The authentication processing unit 133 of the user terminal 10b acquires the key_B: A_account, key_B: A_dev_id, key_B: key_A, and key_B: A_access_point encrypted with the encryption key key_B from the user terminal 10a.
  • the authentication processing unit 133 of the user terminal 10b may acquire the ID type d110 from the user terminal 10a. By acquiring the ID type d110, the authentication processing unit 133 can recognize which network service n0 corresponds to the user ID “A_account” obtained by decrypting key_B: A_account.
  • the authentication processing unit 133 of the user terminal 10b decrypts key_B: A_account, key_B: A_dev_id, key_B: key_A, and key_B: A_access_point with the decryption key corresponding to itself stored in the key information storage unit 132. Accordingly, the authentication processing unit 133 acquires the decrypted user ID “B_account”, device ID “B_dev_id”, encryption key key_A, and access point information A_access_point.
  • the user terminals 10a and 10b can encrypt each other's identification information and transmit / receive them. Thereby, the user terminals 10a and 10b can authenticate each other more safely than the “method of encrypting identification information”.
  • FIG. 22 is a sequence diagram showing an example of a communication processing sequence in the wireless communication system according to the present embodiment, and shows a series of sequences when the public key of the communication partner has already been acquired. In the following description, it is assumed that the user terminal 10b has received the beacon b10 broadcast by the user terminal 10a.
  • Step S601 The user terminal 10b receives the beacon b10 broadcast by the user terminal 10a. At this time, the user terminal 10b operates as the user terminal 10 that receives the identification information (see FIG. 5). That is, the identification information acquisition unit 141 of the user terminal 10b acquires identification information for specifying the user terminal 10a from the user terminal 10a. At this time, the identification information acquisition unit 141 of the user terminal 10b also acquires information indicating the ID type d110.
  • the operation according to Step S601 is the same as the operation according to Step S301 (see FIG. 16) of the wireless communication system according to the first embodiment. That is, the identification information acquisition unit 141 of the user terminal 10b determines whether or not the user terminal 10a permits the “method of using the partner's key” as a method of authenticating each other based on each information in the beacon b10. Check. Moreover, the identification information (for example, user ID and device ID) of the user terminal 10a is acquired from the beacon b10. When the identification information is encrypted with the service-specific encryption key key_S, the identification information acquisition unit 141 accesses the network service n0 indicated by the ID type d110 and decrypts the identification information. Note that the details of each process are the same as the process according to step S301 according to the first embodiment, and a description thereof will be omitted.
  • the user terminal 10b operates as the user terminal 10 that transmits identification information. That is, the identification information notification unit 136 of the user terminal 10b acquires the user ID, device ID, and ID type d110 from the identification information acquisition unit 141. The identification information notification unit 136 extracts the encryption key associated with the acquired user ID, device ID, and ID type d110 from the key information storage unit 143. At this time, if the encryption key has already been exchanged with the user terminal 10a, the identification information notification unit 136 extracts the encryption key key_A corresponding to the user terminal 10a. If the encryption key cannot be extracted, the identification information notification unit 136 uses the above-described “method of not encrypting the identification information” and “method of encrypting the identification information” as described above. Authenticate each other with the terminal 10a. In the following description, it is assumed that the identification information notification unit 136 has extracted the encryption key key_A.
  • the identification information notification unit 136 of the user terminal 10b extracts the user ID of the network service n0 corresponding to the ID type d110 notified from the user terminal 10b from the owner information d10 stored in the identification information storage unit 135. . Specifically, the identification information notification unit 136 refers to the ID type d110 of each owner information d10 and identifies the ID type d110 owner information d10 notified from the user terminal 10b. The identification information notification unit 136 may extract the user ID from the owner ID d120 of the specified owner information d10.
  • the identification information notification unit 136 of the user terminal 10b encrypts the extracted identification information for specifying the user terminal 10b with the encryption key key_A.
  • the identification information notification unit 136 of the user terminal 10 b uses the encryption key “key_A” and the user ID “B_acccount” in the network service n0 of the user ub and the device ID “B_dev_id” for specifying the user terminal 10 b. It encrypts with.
  • the user ID “B_acccount” encrypted with the encryption key key_A may be described as “key_A: B_account”.
  • the device ID “B_dev_id” encrypted with the encryption key key_A may be described as “key_A: B_dev_id”.
  • the identification information notification unit 136 of the user terminal 10b transmits identification information for identifying the user terminal 10b encrypted with the encryption key key_A to the user terminal 10a.
  • the identification information notification unit 136 may also transmit the ID type d110 indicating that the identification information to be transmitted is “internal record search encryption account” to the user terminal 10a.
  • the user terminal 10a can recognize which network service n0 the received identification information corresponds to and that it is encrypted with its own encryption key key_A.
  • the identification information notification unit 136 of the user terminal 10b may unicast the identification information for specifying the user terminal 10b encrypted with the encryption key key_A to the user terminal 10a, or broadcast it to the user terminal 10b. You may transmit to 10a.
  • the identification information notification unit 136 transmits the ID type d110 to the user terminal 10a. Further, hereinafter, the identification information notifying unit 136 of the user terminal 10b is described as transmitting the encrypted user ID “key_A: B_acccount” and the encrypted device ID “key_A: B_dev_id” to the user terminal 10a. To do. In the following, information is assumed to be unicast between the user terminals 10a and 10b based on the communication data d30b shown in FIG.
  • Step S611 The identification information acquisition unit 141 of the user terminal 10a acquires the user ID “B_acccount” and the device ID “B_dev_id” encrypted with the encryption key key_A as identification information for specifying the user terminal 10b from the user terminal 10b. .
  • the identification information acquisition unit 141 determines whether the acquired identification information indicates “internal record search encryption account” based on the ID type d110 acquired from the user terminal 10b.
  • the acquired ID type d110 will be described as indicating “internal record search encryption account”.
  • the identification information acquisition unit 141 of the user terminal 10a is the decryption key corresponding to the user terminal 10a stored in the key information storage unit 143, and the encrypted user ID “key_A: B_acccount” and the encrypted device ID “key_A”. : B_dev_id ".
  • the identification information acquisition unit 141 acquires the decrypted user ID “B_acccount” and the device ID “B_dev_id”.
  • Step S612 when the identification information notification unit 136 of the user terminal 10b unicasts identification information for specifying the user terminal 10b with respect to the user terminal 10a, the user terminal 10a receives the information acquired from the user terminal 10b. You may determine whether you are addressed to yourself. In this case, for example, the user terminal 10a has its own information (that is, the user ID of the user ua and the device ID of the user terminal 10a) set in the receiver information d330 of the communication data d30b (see FIG. 19). Whether or not it is addressed to itself may be determined based on whether or not it is present.
  • the user terminal 10a has its own information (that is, the user ID of the user ua and the device ID of the user terminal 10a) set in the receiver information d330 of the communication data d30b (see FIG. 19). Whether or not it is addressed to itself may be determined based on whether or not it is present.
  • the user terminal 10a accesses the network service n0 and stores the information encrypted with the encryption key key_S. You may decode.
  • the user terminal 10a uses the encryption key based on the decryption key corresponding to the user terminal a. Information encrypted with key_A may be decrypted.
  • the user terminal 10a may transmit a rejection notice to the user terminal 10b and immediately terminate the communication sequence.
  • the identification information acquisition unit 141 extracts, from the key information storage unit 143, the encryption key associated with the type of the network service n0 indicated by the ID type d110, the decrypted user ID “B_acccount”, and the device ID “B_dev_id”. In this case, the encryption key key_B corresponding to the user terminal 10b is extracted.
  • the identification information acquisition unit 141 may update information regarding the extracted encryption key key_B.
  • the identification information acquisition unit 141 may update the update date and time d442 associated with the extracted encryption key key_B in the management data d40 stored in the key information storage unit 143.
  • the user terminals 10a and 10b when authenticating each other based on the “method of using the partner's key”, the user terminals 10a and 10b confirm whether the user terminals 10a and 10b are associated with each other via the network service n0. There is no need. Therefore, it is possible to limit the number of times the user terminals 10a and 10b access the network service n0 compared to the “method of not encrypting identification information” and the “method of encrypting identification information”. Thereby, the user terminals 10a and 10b can reduce the load accompanying access to the external network such as the network service n0 when authenticating each other.
  • one of the user terminals 10a and 10b acquires the other party's encryption key key_B from the network service n0, and uses the acquired encryption key key_B. It encrypts its own encryption key key_A and transmits it to the other party. Further, the user terminal 10b obtains the encryption key key_A by obtaining the encrypted encryption key key_A from the user terminal 10a and decrypting the obtained encrypted encryption key key_A with its own decryption key. Thereby, since only the user terminal 10b needs to access the network service n0, the communication sequence between the user terminals 10a and 10b can be made more efficient than the radio communication system according to the first embodiment. Become.
  • the user terminals 10a and 10b send each other an encryption key (public key) for encryption when communicating with each other via a social graph on the network service n0. It was.
  • information transmitted via the social graph on the network service n0 is not limited to the encryption key (public key).
  • access point information is transmitted and received by encrypted communication between the user terminals 10a and 10b.
  • the security strength of communication via the network service n0 is high, the network You may transmit / receive via the service n0. Therefore, in the third embodiment, a case will be described in which the network service n0 is regarded as a communication path in which security is ensured and the user terminals 10a and 10b transmit and receive information for authenticating each other.
  • the wireless communication system according to the present embodiment includes a server 50 and user terminals 10a and 10b.
  • Server 50 and user terminals 10a and 10b are connected via network n1.
  • the server 50 and the user terminals 10a and 10b are the same as those in the first and second embodiments described above. That is, the server 50 provides the network service n0, and the user terminals 10a and 10b are configured to be able to access the network service n0.
  • the wireless communication system according to the present embodiment may include a user terminal 20a, a user terminal 20b, and a file server 60.
  • the user terminal 20a, the user terminal 20b, and the file server 60 are configured to be able to communicate with the server 50, the user terminal 10a, and the user terminal 10b, respectively, via the network n1.
  • the user terminal 20a is a terminal different from the user terminal 10a that can be operated by the user ua.
  • the user terminal 20b is a terminal different from the user terminal 10b that can be operated by the user ub.
  • the user terminals 20a and 20b are directly (communication by mutual connection) or indirect (communication via a predetermined network such as the Internet) such as a PC (Personal Computer) or a smartphone. It is comprised by the communication apparatus which can communicate.
  • the user terminals 20a and 20b may be configured so that information stored in the user terminals 20a and 20b can be disclosed in a readable manner via a predetermined network.
  • the user terminals 20a and 20b can be configured to set authentication information (for example, ID and password) for reading out the information stored in the user terminals 20a and 20b based on an instruction from the user of the information. May be.
  • the user ua stores his / her information in the user terminal 20a and sets authentication information for reading out the information.
  • the user ua notifies the set authentication information to the other user ub who wants to disclose the information, so that the information can be disclosed only to the user who has notified the authentication information.
  • the file server 60 allows the users ua and ub to store their information in a readable manner by accessing them with a communication device operated by the users ua and ub (for example, the user terminals 10a, 10b, 20a, or 20b). Indicates an external service.
  • the file server 60 is configured to be able to set authentication information (for example, ID and password) for reading out information stored in the file server 60 based on an instruction from a user corresponding to the information. .
  • the users ua and ub store their information in the file server 60 and set authentication information for reading out the information. Then, the users ua and ub can make the information public only to the user who has notified the authentication information by notifying the set authentication information to other users who want to disclose the information.
  • FIG. 24 is a diagram for explaining a schematic operation of the radio communication system according to the present embodiment, and shows a case where information is transmitted and received between the user terminal 10a and the user terminal 10b.
  • the user terminal 10a and the user terminal 10b are shown to be accessible to the same network service n0.
  • the user terminal 10a and the user terminal 10b regard the network service n0 as a reliable communication path r10 and authenticate each other via the communication path r10. Send and receive information.
  • information for authenticating each other include their own encryption keys (public keys) held by the user terminals 10a and 10b as in the first and second embodiments.
  • the user terminals 10a and 10b transmit information for establishing mutual connection with itself, such as access point information, as information for authenticating each other via the communication path r10. May be.
  • the user terminals 10a and 10b use authentication information for reading information stored in the file server 60 (see FIG. 23) as information for authenticating each other via the communication path r10. You may send it.
  • FIG. 25 is a block diagram showing the configuration of the user terminal 10b according to this embodiment, and shows an example of the configuration of the user terminal 10b on the side that transmits identification information.
  • the user terminal 10b according to the present embodiment includes a first communication unit 111, a second communication unit 121, an authentication information acquisition unit 151, an authentication information storage unit 152, and an authentication processing unit 153. , An identification information management unit 154, an identification information storage unit 155, and an identification information notification unit 156.
  • the first communication unit 111 is used for each component in the user terminal 10b to communicate with other communication devices via a base facility such as a mobile communication network. In FIG. 25, the first communication antenna 112 is not shown.
  • each component in the user terminal 10b accesses the network service n0 via the first communication unit 111.
  • data is transmitted / received via the first communication unit 111 unless otherwise specified.
  • the second communication unit 121 is used for each component in the user terminal 10b to interconnect with another user terminal 10 (for example, the user terminal 10a). In FIG. 25, the second communication antenna 122 is not shown.
  • each component in the user terminal 10b accesses the user terminal 10a via the second communication unit 121.
  • the data is transmitted via the second communication unit 121 unless otherwise specified. Send and receive.
  • the identification information management unit 154, the identification information storage unit 155, and the identification information notification unit 156 are the identification information management unit 134, the identification information storage unit 135, and the identification information notification in the first and second embodiments described above. This is the same as the part 136.
  • the owner information d10 of the user ub who is the user of the user terminal 10b is distributed to the user terminal 10a.
  • the authentication information acquisition unit 151 communicates with each other via the social graph of the network service n0 from the user terminal 10a. Get information for authentication.
  • a specific example of information for authenticating each other includes an encryption key key_A for performing encrypted communication with the user terminal 10a.
  • the authentication information acquisition unit 151 may acquire information for establishing communication with the user terminal 10a as information for authenticating each other, such as access point information.
  • the authentication information acquisition unit 151 may acquire a pass phrase for accessing the user terminal 10a or the user terminal 20a as information for authenticating each other.
  • the authentication information acquisition unit 151 may acquire authentication information for reading information on the user ua stored on the file server 60 as information for authenticating each other.
  • the authentication information acquisition unit 151 uses information for determining whether or not the communication partner is a trusted partner, such as a device password in WSC (Wi-Fi Simple Configuration) (hereinafter “ May be acquired as information for authenticating each other.
  • WSC Wi-Fi Simple Configuration
  • the authentication information acquisition unit 151 stores the acquired information for authenticating each other in the authentication information storage unit 152 in association with information for specifying the user terminal 10a (for example, a user ID or a device ID).
  • the authentication information storage unit 152 is a storage unit for storing information acquired from other user terminals 10 for authenticating each other.
  • the authentication processing unit 153 executes processing related to authentication based on the information for authenticating each other stored in the authentication information storage unit 152. As a specific example, when the encryption key key_A is stored in the authentication information storage unit 152, the authentication processing unit 153 performs encrypted communication with the user terminal 10a based on the encryption key key_A. Execute the process.
  • the authentication processing unit 153 communicates with the user terminal 10a based on the information of the access point. Establish an interconnection between them. That is, when the user terminals 10a and 10b are associated on the network service n0, the user terminal 10b acquires the access point information of the user terminal 10a via the network service n0 as a response to the identification information. Can do.
  • the authentication processing unit 153 uses the passphrase to the user terminal 10a. to access.
  • the authentication information storage unit 152 stores a pass phrase for accessing the user terminal 20a.
  • the authentication processing unit 153 requests the file server 60 to perform authentication based on the authentication information. .
  • the authentication processing unit 153 uses the device password to authenticate a partner with whom the communication partner can be trusted (that is, a user terminal). It may be determined whether or not 10a).
  • the authentication processing unit 153 when the communication path is encrypted by, for example, the Diffie-Hellman (DH) key sharing method, the authentication processing unit 153 mutually communicates with the user terminal a based on the device password. It may be determined whether or not is a trusted party. In this case, the authentication processing unit 153 calculates a hash value from the device password, and transmits the calculated hash value to the user terminal 10a. Similarly, the authentication processing unit 153 receives the hash value calculated from the device password from the user terminal 10a. The authentication processing unit 153 compares the hash value created from the device password with the hash value acquired from the user terminal 10a. At this time, the device password used by the authentication processing unit 153 to create the hash value is acquired from the user terminal 10a.
  • DH Diffie-Hellman
  • the authentication processing unit 153 determines whether or not the communication partner can be trusted based on the device password stored in the authentication information storage unit 152 (that is, the device password acquired from the user terminal 10a) (the user terminal 10a). Whether or not) can be determined.
  • FIG. 26 is a block diagram showing the configuration of the user terminal 10a according to the present embodiment, and shows an example of the configuration of the user terminal 10a on the receiving side of identification information.
  • the user terminal 10a according to the present embodiment includes a first communication unit 111, a second communication unit 121, an authentication information generation unit 161, an authentication information storage unit 162, and an identification information acquisition unit 163. And an authentication information notifying unit 164 and an authentication processing unit 165.
  • the first communication unit 111 is used for each component in the user terminal 10a to communicate with other communication devices via a base facility such as a mobile communication network. In FIG. 26, the first communication antenna 112 is not shown.
  • each component in the user terminal 10a accesses the network service n0 via the first communication unit 111.
  • data is transmitted / received via the first communication unit 111 unless otherwise specified.
  • the second communication unit 121 is used for each component in the user terminal 10a to interconnect with another user terminal 10 (for example, the user terminal 10b). In FIG. 26, the second communication antenna 122 is not shown.
  • each component in the user terminal 10 a accesses the user terminal 10 b via the second communication unit 121.
  • the data is transmitted via the second communication unit 121 unless otherwise specified. Send and receive.
  • the authentication information generation unit 161 generates information for the user terminal 10a to authenticate each other with another user terminal (for example, the user terminal 10b).
  • the authentication information generation unit 161 generates an encryption key (for example, a public key) and a decryption key (for example, a secret key), similarly to the key generation unit 131 according to the first and second embodiments. May be.
  • the generated encryption key corresponds to information for authenticating each other.
  • the authentication information generation unit 161 may generate information for the other user terminal 10 to establish communication with the user terminal 10a, such as access point information.
  • the authentication information generation unit 161 may generate a passphrase for accessing the user terminal 10a or the user terminal 10a.
  • the authentication information generation unit 161 may generate or acquire (acquire from the file server 60) authentication information for reading the information of the user ua stored in the file server 60.
  • the authentication information generation unit 161 stores the generated or acquired authentication information in the authentication information storage unit 162.
  • the authentication information storage unit 162 is a storage unit for storing the generated authentication information.
  • the identification information acquisition unit 163 is the same as the identification information acquisition unit 141 according to the first and second embodiments described above. That is, the identification information acquisition unit 163 acquires the owner information d10 from the other user terminal 10a, and based on the acquired owner information d10, the user ua of the user terminal 10a and the user of the transmission source user terminal 10 and the network service n0. Determine if it is associated with the above. Since the determination method is the same as that of the identification information acquisition unit 141, detailed description thereof is omitted.
  • the identification information acquisition unit 163 notifies the authentication information notification unit 164 of the user ID and device ID acquired from the user terminal 10b and the ID type d110 extracted from the owner information d10.
  • the authentication information notification unit 164 acquires the user ID, device ID, and ID type d110 from the identification information acquisition unit 163.
  • the authentication information notification unit 164 accesses the network service n0 corresponding to the acquired ID type d110, and searches for the user ID and device ID acquired via the social graph of the network service n0.
  • the authentication information notification unit 164 performs the user ID on the network service n0.
  • the device ID can be specified.
  • the authentication information notification unit 164 reads the authentication information stored in the authentication information storage unit 162.
  • the authentication information notification unit 164 transmits the read authentication information to the user terminal 10b via the social graph of the network service n0.
  • the social graph of the network service n0 corresponds to the communication path r10 in FIG.
  • the authentication processing unit 165 executes processing related to authentication for performing mutual connection between the user terminal 10a and another user terminal 10 (for example, the user terminal 10b).
  • the authentication processing unit 153 of the user terminal 10b uses the authentication processing unit based on the authentication information.
  • 165 is accessed.
  • the authentication processing unit 165 collates the authentication information (for example, access point information) presented from the authentication processing unit 153 with the authentication information stored in the authentication information storage unit 162. If the authentication information presented from the authentication processing unit 153 is correct, the authentication processing unit 165 establishes an interconnection between the user terminal 10a and the user terminal 10b.
  • the authentication information notification unit 164 when the authentication information notification unit 164 can identify the connection destination user terminal 10 via the social graph of the network service n0, the authentication information notification unit 164 notifies the connection destination user terminal 10 via the network service n0. Sending authentication information.
  • the authentication information notification unit 164 may transmit the authentication information to the connected user terminal 10 via the network service n0 without searching the social graph of the network service n0.
  • the user terminals 10a and 10b when the user terminals 10a and 10b are associated with each other on the network service n0, the user terminals 10a and 10b secure the network service n0. It is regarded as a reserved communication path. Then, the user terminals 10a and 10b transmit and receive information for authenticating each other via the social graph of the network service n0.
  • the user terminal 10a can transmit information for establishing an interconnection like information on an access point to another user terminal 10b via the social graph on the network service n0.
  • the user terminal 10b can establish an interconnection with the user terminal 10a based on the information of the access point acquired through the social graph on the network service n0.
  • the user terminal 10a can transmit a passphrase for accessing the user terminal 10a or the user terminal 20a to the other user terminal 10b via the social graph on the network service n0.
  • the user terminal 10b can access the user terminal 10a and the user terminal 20a using the passphrase acquired through the social graph on the network service n0.
  • the user terminal 10a can transmit the encryption key key_A corresponding to itself to the other user terminal 10b via the social graph on the network service n0.
  • the user terminal 10b can easily acquire the encryption key key_A corresponding to the user terminal 10a, and can perform encrypted communication with the user terminal 10a.
  • the user terminal 10a transmits authentication information for reading the information of the user ua from an external service such as the file server 60 to the other user terminal 10b via the social graph on the network service n0. You can also Thereby, the user terminal 10b can acquire information about the user ua from an external service such as the file server 60 based on the acquired authentication information.
  • the wireless communication system according to the present embodiment, it is possible to easily and safely authenticate the communication partner between the user terminals 10a and 10b.
  • a series of operations of the wireless communication system can be configured by a program for causing the CPU 101 of the user terminal 10 to function.
  • This program may be configured to be executed via an OS (Operating System) installed in the device (for example, the user terminal 10).
  • OS Operating System
  • the position of the program is not limited as long as the apparatus including the configuration for executing the above-described processing can be read.
  • the program may be stored in a recording medium connected from the outside of the apparatus. In this case, it is preferable to connect the recording medium storing the program to the apparatus so that the CPU of the apparatus executes the program.
  • the present invention is not limited to communication devices such as smartphones as long as communication is possible.
  • the user terminal 10 may be a home appliance such as a TV that can access the network.
  • An acquisition unit for acquiring first identification information for identifying another terminal A communication unit that transmits information for authenticating each other between the own terminal and the other terminal to the other terminal specified based on the first identification information via a network service;
  • An information processing apparatus comprising: (2) The communication unit is specified based on the first identification information when the first identification information is associated with second identification information for identifying the terminal itself on a network service.
  • the information processing apparatus according to (1), wherein information for authenticating each other is transmitted to another terminal via the network service.
  • the information processing apparatus according to (2), wherein the information for authenticating each other includes an encryption key associated with the second identification information.
  • the information processing apparatus further including a key generation unit that generates the encryption key and a decryption key for decrypting information encrypted with the encryption key.
  • the information for authenticating each other includes a passphrase for authenticating each other.
  • the first identification information includes a first user ID indicating a user of the other terminal.
  • the second identification information includes a second user ID indicating the user of the terminal, The communication unit, when the first user ID and the second user ID are associated with each other on the network service, to the other terminal specified based on the first identification information, The information processing apparatus according to (6), wherein information for authenticating each other is transmitted via the network service.
  • the information processing apparatus according to any one of (2) to (6), wherein the first identification information includes a first device ID that uniquely identifies the other terminal.
  • the second identification information includes a second device ID that uniquely identifies the terminal.
  • the communication unit when the first device ID and the second device ID are associated on the network service, to the other terminal specified based on the first identification information,
  • the information processing apparatus according to (8), wherein information for authenticating each other is transmitted via the network service.
  • a first information processing apparatus A second information processing device that communicates wirelessly with the first information processing device; With The first information processing apparatus includes: A first communication unit that transmits first identification information for identifying the first information processing device to the second information processing device; With The second information processing apparatus An acquisition unit for acquiring the first identification information; Information for authenticating each other between the second information processing apparatus and the first information processing apparatus is provided to the first information processing apparatus specified based on the first identification information.
  • a second communication unit for transmitting via A wireless communication system comprising: (10) Obtaining first identification information for identifying another terminal; Transmitting information for authenticating each other between the own terminal and the other terminal to the other terminal specified based on the first identification information via a network service;
  • An information processing method comprising: (11) On the computer, Obtaining first identification information for identifying another terminal; Transmitting information for authenticating each other between the own terminal and the other terminal to the other terminal specified based on the first identification information via a network service;

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】簡易かつ安全に通信相手を相互に認証することが可能な情報処理装置、無線通信システム、情報処理方法、及び記憶媒体を提案する。 【解決手段】他端末を識別するための第1の識別情報を取得する取得部と、自端末と前記他端末との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記他端末に前記ネットワークサービスを介して送信する通信部と、を備えた、情報処理装置。

Description

情報処理装置、無線通信システム、情報処理方法、及びプログラム
 本開示は、情報処理装置、無線通信システム、情報処理方法、及びプログラムに関する。
 アドホックネットワークのように、スマートフォン等の通信機器間で相互接続を行う技術がある。
 また、上記に示すように通信機器間で相互接続を行う場合には、接続先が信頼できる相手であるかを確認することで、通信時のセキュリティを確保することが可能である。
特表2012-520014号公報
 しかしながら、接続先が信頼できる相手であるかを確認するための手順が煩雑であるため、通信時にセキュリティを確保するための手順を簡略化してほしいとの要望がある。
 そこで、本開示では、簡易かつ安全に通信相手を相互に認証することが可能な、新規かつ改良された情報処理装置、無線通信システム、情報処理方法、及び記憶媒体を提案する。
 本開示によれば、他端末を識別するための第1の識別情報を取得する取得部と、自端末と前記他端末との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記他端末に前記ネットワークサービスを介して送信する通信部と、を備えた、情報処理装置が提供される。
 また、本開示によれば、第1の情報処理装置と、前記第1の情報処理装置と無線で通信を行う第2の情報処理装置と、を備え、前記第1の情報処理装置は、前記第1の情報処理装置を特定するための第1の識別情報を、前記第2の情報処理装置に送信する第1の通信部、を備え、前記第2の情報処理装置は、前記第1の識別情報を取得する取得部と、前記第2の情報処理装置と前記第1の情報処理装置との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記第1の情報処理装置に前記ネットワークサービスを介して送信する第2の通信部と、を備えた、無線通信システムが提供される。
 また、本開示によれば、他端末を識別するための第1の識別情報を取得することと、自端末と前記他端末との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記他端末に前記ネットワークサービスを介して送信することと、を備えた、情報処理方法が提供される。
 また、本開示によれば、コンピュータに、他端末を識別するための第1の識別情報を取得するステップと、自端末と前記他端末との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記他端末に前記ネットワークサービスを介して送信するステップと、を実行させるためのプログラムが提供される。
 以上説明したように本開示によれば、簡易かつ安全に通信相手を相互に認証することが可能な、新規かつ改良された情報処理装置、無線通信システム、情報処理方法、及び記憶媒体が提供される。
本開示の第1の実施形態に係る無線通信システムの概略的な構成について説明するための図である。 同実施形態に係るユーザ端末間の通信について説明するための図である。 同実施形態に係るユーザ端末の概略的なハードウェア構成の一例を示した図である。 同実施形態に係るユーザ端末の構成を示したブロック図である。 ネットワークサービス上におけるユーザ端末間の関連付けの一例を示した図である。 持ち主情報の一例を示した図である。 同実施形態に係るユーザ端末の構成を示したブロック図である。 暗号鍵を管理するための管理データの一例を示した図である。 ユーザ端末が持ち主情報を他のユーザ端末に配布する方法の一例について説明するための図である。 ユーザ端末が持ち主情報を送信するための通信データのデータ構造の一例を示した図である。 接続先の候補を選択するための画面の一例である。 ユーザ端末が持ち主情報を他のユーザ端末に配布する方法の他の一例について説明するための図である。 本開示の第1の実施形態に係る無線通信システムにおいて情報を送受信するための通信データのデータ構造の一例を示した図である。 同実施形態に係る無線通信システムにおける通信処理シーケンスの一例を示したシーケンス図である。 同実施形態に係る無線通信システムにおける通信処理シーケンスの他の一例を示したシーケンス図である。 同実施形態に係る無線通信システムにおける通信処理シーケンスの一例を示したシーケンス図である。 ネットワークサービス上におけるユーザ端末間の関連付けの他の一例を示した図である。 ネットワークサービス上におけるユーザ端末間の関連付けの他の一例を示した図である。 本開示の第2の実施形態に係る無線通信システムにおいて情報を送受信するための通信データのデータ構造の一例を示した図である。 同実施形態に係る無線通信システムにおける通信処理シーケンスの一例を示したシーケンス図である。 同実施形態に係る無線通信システムにおける通信処理シーケンスの他の一例を示したシーケンス図である。 同実施形態に係る無線通信システムにおける通信処理シーケンスの一例を示したシーケンス図である。 本開示の第3の実施形態に係る無線通信システムの概略的な構成を示した図である。 同実施形態に係る無線通信システムの概略的な動作について説明するための図である。 同実施形態に係るユーザ端末の構成を示したブロック図である。 同実施形態に係るユーザ端末の構成を示したブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.第1の実施形態
  1.1.無線通信システムの概略
  1.2.ユーザ端末の構成
  1.3.持ち主情報の配布
  1.4.通信シーケンス(識別情報を暗号化しない方法)
  1.5.通信シーケンス(識別情報を暗号化する方法)
  1.6.通信シーケンス(相手の鍵を利用する方法)
  1.7.まとめ
 2.第2の実施形態
  2.1.無線通信システムの概略
  2.2.通信シーケンス(識別情報を暗号化しない方法)
  2.3.通信シーケンス(識別情報を暗号化する方法)
  2.4.通信シーケンス(相手の鍵を利用する方法)
  2.5.まとめ
 3.第3の実施形態
  3.1.無線通信システムの概略
  3.2.ユーザ端末の構成
  3.3.まとめ
 <1.第1の実施形態>
 [1.1.無線通信システムの概略]
 まず、図1を参照して、本開示の第1の実施形態に係る通信システムの概略について説明する。図1は、本実施形態に係る無線通信システムの概略的な構成について説明するための図である。
 図1に示すように、本実施形態に係る無線通信システムは、サーバ50と、ネットワークサービスn0と、ユーザ端末10a及び10bとを含む。ユーザ端末10a及び10bは、それぞれスマートフォンのような無線通信が可能な端末(情報処理装置)である。ユーザ端末10aは、ユーザuaが操作する端末をであり、ユーザ端末10bは、ユーザubが操作する端末をである。なお、以降では、ユーザ端末10a及び10bを特に区別しない場合には、単に「ユーザ端末10」と記載する場合がある。
 また、ネットワークサービスn0は、サーバ50がインターネットのようなネットワーク上で提供するネットワークサービスであり、具体的な一例としてソーシャルネットワーキングサービス(SNS:Social Networking Service)が挙げられる。
 本実施形態に係る無線通信システムは、ユーザ端末10aとユーザ端末10bとの間での接続(相互接続)n10(例えば、アドホックネットワーク)を確立する際の通信時のセキュリティを確保するために、接続先が信頼できる相手であるかを確認する手段を提供する。そこで、以降では、アドホックネットワークのようなユーザ端末10間の通信(相互接続)について簡単に説明したうえで、課題を整理し、その後、本実施形態に係る無線通信システムについて説明することとする。
 まず、図2を参照しながら、アドホックネットワークの概要について説明する。図2は、実施形態に係るユーザ端末10間の通信について説明するための図である。アドホックネットワークは、基地局、及び、基地局間をつなぐ固定網のような基盤設備に依存することなく、近接するユーザ端末10間で自律的にルーティングを行うことにより、ユーザ端末10間での通信を可能とする技術である。
 アドホックネットワークでは、例えば、ユーザ端末10aとユーザ端末10bとが通信を行う際に、ユーザ端末10a及び10bが直接接続されていなくても、アドホックネットワーク内における他のユーザ端末10を中継して通信(即ち、マルチホップ通信)を行うことが可能である。例えば、図2の例に示すように、ユーザ端末10b及び10dが直接通信できる位置関係にない場合(例えば、電波が直接届かない場合)においても、ユーザ端末10b及び10dの間に介在するユーザ端末10aまたは10cが中継器の役割を果たすことが可能である。
 各ユーザ端末10は、所定の手続き(処理)を実行することで、既に構築されているアドホックネットワークに適宜参加することが可能である。例えば、図2に示す例において、ユーザ端末10a~10dがアドホックネットワークを構築しているとする。このとき、他のユーザ端末10e~10hは、図2に示すように、ユーザ端末10a~10dにより形成されたアドホックネットワークに参加することが可能である。このように既に構築されているアドホックネットワークに対して、新たにユーザ端末10が参加することで、当該アドホックネットワークを介して通信可能な範囲が、新たに参加したユーザ端末10が通信可能な範囲の分だけ拡張される。具体的な一例として、ユーザ端末10fは、ユーザ端末10a~10dにより形成されたアドホックネットワークに直接アクセスすることができないものとする。このような場合においても、例えば、ユーザ端末10eまたは10gがアドホックネットワークに参加することで、ユーザ端末10fは、ユーザ端末10eまたは10gを介してアドホックネットワークにアクセスすることが可能となる。
 このように、アドホックネットワークでは、例えば、ユーザ端末10b及び10dが通信を行う場合においても、ユーザ端末10b及び10dが直接通信するとは限らない。そのため、アドホックネットワーク上でセキュアに通信を行う場合には、接続先が信頼できる相手であるかを確認する必要がある。しかしながら、接続先が信頼できる相手であるかを確認するための手順が煩雑であるため、通信時にセキュリティを確保するための手順を簡略化してほしいとの要望がある。そこで、本実施形態では、簡便かつ安全に通信時のセキュリティを確保することが可能な無線通信システムを提案する。
 ここで、再度図1を参照する。本実施形態に係る無線通信システムでは、各ユーザ端末10は、接続先のユーザ端末10が信頼できる相手か否かを、自身と接続先のユーザ端末10とがネットワークサービスn0上で関連付けられているか否かにより判断する。
 具体的には、例えば、ソーシャルネットワーキングのようなネットワークサービスn0では、各ユーザにより指定された各ユーザ間が友人関係にあるか否かを示す情報に基づき、各ユーザのアカウント(以降では、「ユーザID」と呼ぶ)を関連付けている。この、各ユーザID間の関連付けをソーシャルグラフと呼ぶ場合がある。このソーシャルグラフを活用することで、例えば、ユーザ端末10aは、ユーザuaとユーザubとの関係c11が、ネットワークサービスn0上で友人関係にある場合(即ち、関連付けられている場合)に、ユーザubがネットワークサービスn0上に登録した情報を取得することが可能である。
 そこで、本実施形態に係る無線通信システムでは、例えば、ユーザua及びubが、ネットワークサービスn0上で関連付けられている場合に、当該ユーザua及びubのユーザ端末10a及び10bは、互いを信頼できる相手と判断する。そして、互いが信頼できる相手の場合には、ユーザ端末10a及び10bは、相互に通信を行う際に暗号化するための暗号鍵を、ネットワークサービスn0上のソーシャルグラフを介して互いに送付する。
 具体的には、ユーザ端末10a及び10bは、それぞれが自身と通信を行う際にデータを暗号化する暗号鍵と復号する復号鍵を生成(または取得)し、暗号鍵をネットワークサービスn0に管理させる。例えば、図1の例では、ユーザ端末10a及び10bのそれぞれで作成された暗号鍵key_A及びkey_Bが、ネットワークサービスn0で管理されている。このような構成により、ユーザua及びubがネットワークサービスn0上で関連付けられている場合(関係c11)に、例えば、ユーザ端末10aは、ネットワークサービスn0上で管理された暗号鍵key_Bを、ソーシャルグラフを介して取得することが可能である。また、ユーザua及びubがネットワークサービスn0上で関連付けられていない場合には、ユーザ端末10aは、ネットワークサービスn0上でユーザubを特定することができず、結果として暗号鍵key_Bを取得することができないこととなる。
 また、本実施形態に係るネットワークサービスn0は、サービス固有の暗号鍵及び復号鍵を管理している。ネットワークサービスn0は、サービス固有の暗号鍵(以下、「暗号鍵key_S」と呼ぶ場合がある)を、ネットワークサービスn0を利用可能なユーザのユーザ端末に提供する。また、ネットワークサービスn0は、自身にアクセス可能なユーザ(即ち、ネットワークサービスn0のユーザIDを所持するユーザ)に対し、暗号鍵key_Sで暗号化されたデータを復号する機能を有する。これにより、ネットワークサービスn0を利用可能なユーザ間で、サービス固有の暗号鍵key_Sを利用した暗号化通信を行うことが可能となる。なお、サービス固有の暗号鍵key_Sを利用した通信の詳細については、別途後述する。
 このような構成により、本実施形態に係る無線通信システムでは、各ユーザ端末10がネットワークサービスn0上のソーシャルグラフを介して、相手が信頼できるか否かを判断し、判断結果に基づき相手と通信を行うための暗号鍵を取得することが可能となる。そのため、各ユーザ端末10のユーザは、煩雑な手順を踏むことなく、互いのユーザ端末10間でセキュアな通信を行うことが可能となる。以降では、本実施形態に係る無線通信システムの詳細について説明する。
 [1.2.ユーザ端末の構成]
 まず、図3を参照しながら、ユーザ端末10のハードウェア構成について説明する。図3は、実施形態に係るユーザ端末の概略的なハードウェア構成の一例を示した図である。図3に示すように、ユーザ端末10は、CPU101と、メモリ102と、出力部103と、入力部104と、記憶部105と、I/Oインタフェース106と、第1通信部111と、第1通信アンテナ112と、第2通信部121と、第2通信アンテナ122と、を含む。
 CPU101は、演算処理装置及び制御装置として機能し、各種プログラムに従ってユーザ端末10内の動作全般を制御する。またCPU101は、マイクロプロセッサであってもよい。このCPU101は、各種プログラムに従って様々な機能を実現することができる。
 メモリ102は、ROM(Read Only Memory)やRAM(Random Access Memory)により構成されている。ROMは、CPU101が使用するプログラムや演算パラメータ等を記憶することができる。RAMは、CPU101の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶することができる。
 出力部103は、出力装置の一例であり、液晶ディスプレイ(LCD:Liquid Crystal Display)装置、有機EL(OLED:Organic Light Emitting Diode)ディスプレイ装置などの表示装置であってよい。出力部103は、ユーザに対して画面を表示することにより情報を提供することができる。
 入力部104は、ユーザが所望の操作をするための入力信号を生成する機能を有する。入力部104は、例えばタッチセンサ、マウス、キーボード、ボタン、マイク、スイッチ及びレバーなどユーザが情報を入力するための入力部と、ユーザによる入力に基づいて入力信号を生成し、CPU101に出力する入力制御回路などから構成されてよい。
 記憶部105は、データ格納用の装置であり、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置、および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。ここで記憶媒体としては、例えばフラッシュメモリ、MRAM(Magnetoresistive Random Acces 
Memor)、FeRAM(Ferroelectric Random Access Memory)、PRAM(Phase change Random Access Memory)、及びEEPROM(Electronically Erasable and Programmable Read Only Memory)などの不揮発性メモリや、HDD(Hard Disk Drive)などの磁気記録媒体などが用いられてよい。
 I/Oインタフェース106は、ディスプレイ装置のようなアクチュエーターや、キー入力が可能なセンサーのような外部機器を接続し、接続された外部機器との間で信号を送受信するためのインタフェースである。I/Oインタフェース106は、接続された外部機器からの信号をCPU101に供給することができる。また、I/Oインタフェース106は、CPU101からの信号を接続された外部機器に供給できる。
 第1通信アンテナ112及び第2通信アンテナ122は、例えば携帯通信網や無線LAN(Local Area Network)通信網を介して通信信号を送受信する機能を有するアンテナである。第1通信アンテナ112は、受信した信号を第1通信部111に供給することができる。また、第1通信アンテナ112は、第1通信部111からの信号を、携帯通信網や無線LAN通信網を介して他の通信機器に送信してもよい。同様に、第2通信アンテナ122は、受信した信号を第2通信部121に供給することができる。また、第2通信アンテナ122は、第2通信部121からの信号を、携帯通信網や無線LAN通信網を介して他の通信機器に送信してもよい。
 第1通信部111は、第1通信アンテナ112から供給された信号に各種の信号処理を行う機能を有する。第1通信部111は、供給されたアナログ信号から生成したデジタル信号をCPU101に供給することができる。同様に、第2通信部121は、第2通信アンテナ122から供給された信号に各種の信号処理を行う機能を有する。第2通信部121は、供給されたアナログ信号から生成したデジタル信号をCPU101に供給することができる。
 なお、以降では、第1通信部111及び第1通信アンテナ112は、ユーザ端末10が、例えば、携帯通信網(例えば、基地局、及び、基地局間をつなぐ固定網)のような基盤設備を介して他の通信機器と通信を行うために用いられるものとして説明する。また、第2通信部121及び第2通信アンテナ122は、ユーザ端末10が、他のユーザ端末10と相互接続を行うため(換言すると、アドホックネットワークを構築するため)に用いられるものとして説明する。
 なお、上記に示したハードウェア構成は一例であり、以降で説明する、本実施形態に係るユーザ端末10の動作を実現可能であれば、ユーザ端末10のハードウェア構成を上記に限定されない。例えば、第1通信部111及び第1通信アンテナ112と、第2通信部121及び第2通信アンテナ122とを別々に設けずに、いずれか一方が双方の役割を兼任してもよい。
 次に、本実施形態に係るユーザ端末10の構成について説明する。本実施形態に係る無線通信システムでは、複数のユーザ端末10が互いに相手を信頼できる相手か否かを判断するために、一方のユーザ端末10が、他方のユーザ端末10から、ネットワークサービスn0上で相手を識別するための識別情報を受け取る。この識別情報は、例えば、ユーザ端末10のユーザの、ネットワークサービスn0上におけるユーザIDや、ユーザ端末10を一意に特定するためのID(以降では、「デバイスID」と呼ぶ)が含まれ得る。以降では、ユーザ端末10a及び10bが通信を行う場合を例に、ユーザ端末10bを識別情報の送信側とし、ユーザ端末10aを識別情報の受信側として説明する。なお、識別情報に含まれる情報の詳細や、識別情報に含まれる情報の違いに伴う処理の違いについては別途後述する。また、この識別情報が、「第1の識別情報」及び「第2の識別情報」の一例に相当する。
 (識別情報を送信する側のユーザ端末10)
 まず、図4を参照しながら、識別情報を送信する側のユーザ端末10bの構成について説明する。図4は、本実施形態に係るユーザ端末10bの構成を示したブロック図であり、識別情報を送信する側のユーザ端末10bの構成の一例を示している。図4に示すように、ユーザ端末10bは、第1通信部111と、第2通信部121と、鍵生成部131と、鍵情報記憶部132と、認証処理部133と、識別情報管理部134と、識別情報記憶部135と、識別情報通知部136とを含む。なお、以降で説明する識別情報を送信する側のユーザ端末10は、後述する「識別情報を受信する側のユーザ端末10」としても動作してもよい。その場合には、当該ユーザ端末10は、後述する「識別情報を受信する側のユーザ端末10」の各構成を備えることは言うまでもない。
 第1通信部111は、ユーザ端末10b内の各構成が、携帯通信網のような基盤設備を介して他の通信機器と通信を行うために用いられる。なお、図4では、第1通信アンテナ112の図示を省略している。本実施形態に係る無線通信システムでは、ユーザ端末10b内の各構成は、第1通信部111を介してネットワークサービスn0にアクセスする。なお、以降では、ユーザ端末10b内の各構成がネットワークサービスn0とデータを送受信する場合には、特に明示が無い限りは、第1通信部111を介してデータを送受信するものとする。
 第2通信部121は、ユーザ端末10b内の各構成が、他のユーザ端末10(例えば、ユーザ端末10a)と相互接続を行うために用いられる。なお、図4では、第2通信アンテナ122の図示を省略している。ユーザ端末10a及び10bがアドホックネットワークを構築する場合には、ユーザ端末10b内の各構成は、第2通信部121を介してユーザ端末10aにアクセスする。なお、以降では、ユーザ端末10b内の各構成が他のユーザ端末(例えば、ユーザ端末10a)とデータを送受信する場合には、特に明示が無い限りは、第2通信部121を介してデータを送受信するものとする。
 鍵生成部131は、ユーザ端末10bが他のユーザ端末と通信を行う際に、データを暗号化及び復号するための暗号鍵及び復号鍵を生成する。具体的な一例として、鍵生成部131は、公開鍵暗号方式で用いられる暗号鍵(公開鍵)と復号鍵(秘密鍵)を生成してもよい。なお、鍵生成部131は、自身で暗号鍵及び復号鍵を生成せずに、外部で生成された暗号鍵及び復号鍵を取得してもよい。なお、生成された暗号鍵が、「第1の暗号鍵」及び「第2の暗号鍵」の一例に相当する。同様に、生成された復号鍵が、「第1の復号鍵」及び「第2の復号鍵」の一例に相当する。
 鍵生成部131は、生成した暗号鍵及び復号鍵のうち、復号鍵を鍵情報記憶部132に記憶させる。鍵情報記憶部132は、復号鍵を記憶するための記憶部である。なお、鍵生成部131は、暗号鍵をあわせて鍵情報記憶部132に記憶させてもよい。このように、鍵情報記憶部132は、な暗号化または復号を行うための情報を記憶する。
 また、鍵生成部131は、生成した暗号鍵及び復号鍵のうち、暗号鍵を、ネットワークサービスn0上でユーザ端末10bを特定するための識別情報と関連付けて、ネットワークサービスn0に送信する。このネットワークサービスn0に送信される暗号鍵が、暗号鍵key_Bに相当する。なお、ユーザ端末10bを特定するための識別情報は、例えば、ユーザ端末10bのユーザubを特定するためのユーザIDでもよい。また、他の一例として、当該識別情報は、MACアドレスのように、ユーザ端末10bを一意に特定することが可能なデバイスIDでもよい。また、デバイスIDの場合は、ネットワークサービスn0上でユーザ端末10bが一意に特定できれば、必ずしもMACアドレスである必要はない。例えば、当該ネットワークサービスn0上で、ユーザ端末10bを一意に特定するために生成された情報であってもよい。
 また、識別情報は、ユーザIDとデバイスIDとの双方を含み、ユーザIDとデバイスIDとを組み合わせて用いられてもよい。ユーザIDとデバイスIDとを組み合わせることで、例えば、1人のユーザが複数のユーザ端末10を使い分けている場合に、そのユーザがどのユーザ端末10を使用した場合かを一意に特定することができる。例えば、図5は、ネットワークサービスn0上におけるユーザ端末10間の関連付けの一例を示した図であり、ユーザua及びubが、それぞれ複数のユーザ端末10を使い分けている場合の一例を示している。
 図5に示す例では、ユーザuaは、ユーザ端末10a1~10a3を所有しており、それぞれを切り替えてネットワークサービスn0を使用している。また、ユーザubは、ユーザ端末10b1~10b3を所有しており、それぞれを切り替えてネットワークサービスn0を使用している。この場合に、ユーザua及びubの関係c11のみで、ユーザua及びubそれぞれが使用しているユーザ端末10を特定しようとしても、一意に特定することは困難である。
 一方で、ネットワークサービスn0上に、ユーザua及びubそれぞれのユーザIDに、各ユーザが使用するユーザ端末10のデバイスIDを関連付けることで、各ユーザが使用しているユーザ端末10を一意に特定することが可能である。具体的な一例として、ユーザuaは、自身のユーザIDに、ユーザ端末10a3のデバイスIDを関連付けておく。同様に、ユーザubは、自身のユーザIDに、ユーザ端末10b1のデバイスIDを関連付けておく。これにより、例えば、ユーザuaのユーザ端末10a3は、ネットワークサービスn0上のソーシャルグラフを介して、ユーザubのユーザ端末10b1を特定することが可能となる。即ち、ユーザua及びubそれぞれが複数のユーザ端末10を使用する場合においても、例えば、図5の参照符号c12で示すように、ネットワークサービスn0上において、ユーザ端末10a3とユーザ端末10b1とを関連付けることが可能となる。なお、以降では、識別情報が、ユーザIDとデバイスIDとの双方を含む場合を例に説明する。
 識別情報管理部134は、ユーザ端末10bを操作するユーザ(例えば、ユーザub)のネットワークサービスn0におけるユーザIDを取得し、取得したユーザIDを持ち主情報d10として識別情報記憶部135に記憶させる。識別情報記憶部135は、持ち主情報d10を記憶するための記憶部である。以下に、識別情報管理部134の動作、及び持ち主情報d10の詳細については説明する。
 識別情報管理部134は、ユーザubがネットワークサービスn0にログインした際に入力されたユーザIDと、当該ユーザIDがどのネットワークサービスn0のユーザIDかを示すID種別とを関連付けて、持ち主情報d10として識別情報記憶部135に記憶させる。この識別情報記憶部135に記憶された持ち主情報d10に設定された識別情報(ユーザID)とID種別d110とが、後述する識別情報通知部136により、他のユーザ端末10(例えば、ユーザ端末10a)に送信される。これにより、識別情報(ユーザID)及びID種別d110を受け取ったユーザ端末10は、当該ID種別d110によりネットワークサービスn0を特定することができる。また、当該ユーザ端末10は、特定したネットワークサービスn0のソーシャルグラフを介して、取得した識別情報(ユーザID)を探索することが可能となる。
 なお、詳細は後述するが、本実施形態に係る無線通信システムでは、互いを認証するために送信するユーザIDを暗号化するか否かを選択可能に構成されている。以降では、ユーザIDを暗号化して互いを認証する方法を「識別情報を暗号化する方法」、ユーザIDを暗号化せずに互いを認証する方法を「識別情報を暗号化しない方法」と呼ぶ場合がある。また、本実施形態に係る無線通信システムでは、ユーザ端末10間で既に暗号鍵(例えば、公開鍵)の交換を行っている場合には、相手の暗号鍵を用いてユーザIDを暗号化することで、ネットワークサービスn0を介さずに互いを認証する方法を選択可能に構成されている。なお、この相手の暗号鍵を用いてユーザIDを暗号化することで互いを認証する方法を、以降では「相手の鍵を利用する方法」と呼ぶ。
 互いを認証する方法として、「識別情報を暗号化する方法」、「識別情報を暗号化しない方法」、及び「相手の鍵を利用する方法」のいずれが選択されるかに応じて、持ち主情報d10に含まれるユーザIDの態様、即ち、ユーザIDを暗号化するか否かが異なる。しかし、ID種別d110がネットワークサービスn0の違いを識別可能に構成されているのみでは、ユーザ端末10bが、上述した互いを認証する方法のうち、いずれを利用することが可能かを、接続先であるユーザ端末10が認識することは難しい。
 そこで、識別情報管理部134は、ネットワークサービスn0の違いに加えて、上述した互いを認証する方法の違いについても識別できるように、持ち主情報d10に含まれるID種別を生成する。具体的には、識別情報管理部134は、同じネットワークサービスn0のユーザIDであっても、互いを認証する方法が異なる場合には、ID種別として異なる情報を生成する。このような構成により、他のユーザ端末10は、ID種別により、ユーザ端末10bのユーザubを、どのネットワークサービスn0のソーシャルグラフを介して探索可能か、及び互いを認証する方法としていずれを利用できるかを認識することが可能となる。
 なお、ユーザIDを暗号化する場合には、例えば、ネットワークサービスn0が提供する暗号鍵key_SによりユーザIDを暗号化することが可能である。この場合には、接続先であるユーザ端末10のユーザが、暗号鍵key_Sを提供するネットワークサービスn0のユーザであれば、暗号化されたユーザIDを復号することが可能となる。以降では、ユーザIDを暗号化する場合には、ネットワークサービスn0が提供する暗号鍵key_Sにより暗号化するものとして説明する。
 以下に、図6を参照しながら、持ち主情報d10の詳細について説明する。図6は、持ち主情報d10の一例を示した図である。なお、上記に示した、互いを認証する方法それぞれの詳細については、後述する「1.4.通信シーケンス(識別情報を暗号化しない方法)」、「1.5.通信シーケンス(識別情報を暗号化する方法)」、「1.6.通信シーケンス(相手の鍵を利用する方法)」にてそれぞれ説明する。
 図6に示すように、持ち主情報d10は、ID種別d110と、持ち主IDd120とを含む。ID種別d110は、ネットワークサービスn0の違い、ユーザIDが暗号化されているか否か、及び、互いを認証する方法の違いを識別するための情報である。例えば、参照符号d11は、ユーザIDを暗号化しない場合の持ち主情報d10を示している(以降では、「持ち主情報d11」と呼ぶ)。また、参照符号d13は、ユーザIDを暗号化する場合の持ち主情報d10を示している(以降では、「持ち主情報d13」と呼ぶ)。また、参照符号d15は、ユーザ端末10間で既に暗号鍵(例えば、公開鍵)の交換を行っている場合には、相手の暗号鍵を用いてユーザIDを暗号化して送受信することで互いを認証する方法の利用を許可している場合の持ち主情報d10を示している(以降では、「持ち主情報d15」と呼ぶ)。
 また、持ち主IDd120は、ID種別が示すネットワークサービスn0のユーザIDを示している。なお、持ち主IDd120には、ID種別d110がユーザIDの暗号化を示している場合には暗号鍵key_Sで暗号化されたユーザIDが設定され、ID種別d110がユーザIDの暗号化を示していない場合には、暗号化されていないユーザIDが設定される。
 具体的な一例として、ID種別d110が「0x003f」の持ち主情報d11は、ネットワークサービスn0が「サービスB」であり、かつ、ユーザ端末10が「ユーザIDを暗号化しない方法」に対応していることを示している。即ち、ID種別110が「0x003f」の場合は、持ち主IDd120が、暗号化されていないサービスBのアカウント(ユーザID)であることを示している。この場合には、識別情報管理部134は、持ち主IDd120に、暗号化されていない「サービスB」のユーザIDとして「kekek123」が設定する。なお、以降では、「ユーザIDを暗号化しない方法」を示すID種別d110を単に「アカウント」と呼び、「サービスB」の「アカウント」の場合には、「サービスBアカウント」と呼ぶ場合がある。
 また、ID種別d110が「0x005a」の持ち主情報d12は、ネットワークサービスn0が「サービスA」であり、かつ、ユーザ端末10が「ユーザIDを暗号化する方法」に対応していることを示している。即ち、ID種別D110が「0x005a」の場合は、持ち主IDd120が、暗号化されたサービスAのアカウント(ユーザID)であることを示している。この場合には、識別情報管理部134は、持ち主IDd120に、暗号化された「サービスA」のユーザIDとして「sha6le3rlkge」を設定する。なお、以降では、「ユーザIDを暗号化する方法」を示すID種別d110を「暗号化アカウント」と呼び、「サービスA」の「暗号化アカウント」の場合には、「サービスA暗号化アカウント」と呼ぶ場合がある。
 また、ID種別d110が「0x0156」の持ち主情報d13は、ネットワークサービスn0が「サービスB」であり、かつ、ユーザ端末10が「相手の鍵を利用する方法」に対応していることを示している。即ち、ID種別d110が「0x0156」の場合には、ユーザ端末10bとの間で暗号鍵(公開鍵)を既に交換している場合は、互いの暗号鍵を用いた認証がユーザ端末10bで許可されていることを示している。この場合には、識別情報管理部134は、持ち主IDd120に、暗号化された「サービスB」のユーザIDとして「w48tpboiwutpqw84t」を設定する。なお、以降では、「相手の鍵を利用する方法」を示すID種別d110を「内部レコード探索用暗号化アカウント」と呼び、「サービスB」の「内部レコード探索用暗号化アカウント」の場合には、「内部レコード探索用サービスB暗号化アカウント」と呼ぶ場合がある。
 なお、識別情報管理部134は、「ユーザIDを暗号化する方法」、「ユーザIDを暗号化しない方法」、及び「相手の鍵を利用する方法」のいずれを選択するかを、ユーザ端末10bのユーザubによる入力に基づき決定してもよい。また、他の一例として、「ユーザIDを暗号化する方法」、「ユーザIDを暗号化しない方法」、及び「相手の鍵を利用する方法」のいずれが使用されるかは、あらかじめ設定されていてもよい。
 識別情報管理部134は、「ユーザIDを暗号化する方法」、「ユーザIDを暗号化しない方法」、及び「相手の鍵を利用する方法」のうち選択された方法に対応する持ち主情報d10を生成し、生成した持ち主情報d10を識別情報記憶部135に記憶させる。なお、互いを認証する方法としては、「ユーザIDを暗号化する方法」及び「ユーザIDを暗号化しない方法」のうち少なくともいずれかが選択されていればよい。
 また、識別情報記憶部135には、不揮発性の記憶媒体を用いてもよいし、揮発性の記憶媒体を用いてもよい。識別情報記憶部135に揮発性の記憶媒体を用いた場合には、ユーザ端末10bが停止した場合に、識別情報記憶部135に記憶された持ち主情報d10が消去されることは言うまでもない。一方で、識別情報記憶部135に不揮発性の記憶媒体を用いた場合には、ユーザ端末10bが停止した場合においても、識別情報記憶部135に記憶された持ち主情報d10は消去されない。そのため、識別情報管理部134が、識別情報記憶部135に記憶された持ち主情報d10を消去できるようにしてもよい。
 識別情報通知部136は、識別情報記憶部135から持ち主情報d10を読み出し、読み出した持ち主情報d10を、他のユーザ端末10に配布する。これにより、他のユーザ端末10は、ユーザ端末10bのユーザであるユーザubのユーザIDと、そのユーザIDがどのネットワークサービスn0のユーザIDか、及び、当該ユーザIDが暗号化されているか否かを認識することが可能となる。また、他のユーザ端末10は、配布された持ち主情報d10に基づき、ユーザ端末10bが、互いを認証する方法として、「ユーザIDを暗号化する方法」、「ユーザIDを暗号化しない方法」、及び「相手の鍵を利用する方法」のいずれを許可しているかを認識することができる。なお、識別情報通知部136は、ユーザ端末10bの周囲に存在する不特定多数の他のユーザ端末10に持ち主情報d10をブロードキャストしてもよいし、特定のユーザ端末10にユニキャストしてもよい。識別情報通知部136が持ち主情報を配布する方法の詳細については別途後述する。
 また、識別情報通知部136は、例えば、ユーザ端末10aの暗号鍵key_Aを既に取得している場合には、持ち主情報d10を暗号鍵key_Aで暗号化し、暗号化された持ち主情報d10をユーザ端末10aにユニキャストしてもよい。この場合のID種別d110は、「内部レコード探索用暗号化アカウント」とすればよい。なお、ユーザ端末10bがユーザ端末10aの暗号鍵key_Aを取得する場合には、例えば、ユーザ端末10bを、後述する識別情報を受信する側のユーザ端末10として動作させればよい。
 また、識別情報通知部136は、ユーザ端末10bを特定するためのデバイスIDを他のユーザ端末10に通知してもよい。このとき、識別情報通知部136は、デバイスIDを暗号化してもよい。デバイスIDを暗号化する場合には、識別情報通知部136は、ユーザIDの暗号化に用いた暗号鍵により、デバイスIDを暗号化してもよい。
 認証処理部133は、接続先のユーザ端末10(例えば、ユーザ端末10a)との間で、互いを認証するための処理を実行する。互いを認証する処理の具体的な一例としては、WEP(Wired Equivalent Privacy)、WPA(Wi-Fi Protected Access)、WPA2等が知られている。認証処理部133による互いを認証する処理の具体例については、別途後述する。
 また、認証処理部133は、他の接続先のユーザ端末10から取得したデータが、鍵生成部131で生成された暗号鍵key_Bで暗号化されている場合には、鍵情報記憶部132に記憶された復号鍵で当該データを復号する。
 (識別情報を受信する側のユーザ端末10)
 次に、図7を参照しながら、送信された識別情報を受信する側のユーザ端末10aの構成について説明する。図7は、本実施形態に係るユーザ端末10aの構成を示したブロック図であり、識別情報を受信する側のユーザ端末10aの構成の一例を示している。図7に示すように、ユーザ端末10aは、第1通信部111と、第2通信部121と、鍵生成部131と、識別情報取得部141と、鍵取得部142と、鍵情報記憶部143と、認証処理部144とを含む。なお、以降で説明する識別情報を受信する側のユーザ端末10は、前述した「識別情報を送信する側のユーザ端末10」としても動作してもよい。その場合には、当該ユーザ端末10は、前述した「識別情報を送信する側のユーザ端末10」の各構成を備えることは言うまでもない。
 第1通信部111は、ユーザ端末10a内の各構成が、携帯通信網のような基盤設備を介して他の通信機器と通信を行うために用いられる。なお、図7では、第1通信アンテナ112の図示を省略している。本実施形態に係る無線通信システムでは、ユーザ端末10a内の各構成は、第1通信部111を介してネットワークサービスn0にアクセスする。なお、以降では、ユーザ端末10a内の各構成がネットワークサービスn0とデータを送受信する場合には、特に明示が無い限りは、第1通信部111を介してデータを送受信するものとする。
 第2通信部121は、ユーザ端末10a内の各構成が、他のユーザ端末10(例えば、ユーザ端末10b)と相互接続を行うために用いられる。なお、図7では、第2通信アンテナ122の図示を省略している。ユーザ端末10a及び10bがアドホックネットワークを構築する場合には、ユーザ端末10a内の各構成は、第2通信部121を介してユーザ端末10bにアクセスする。なお、以降では、ユーザ端末10a内の各構成が他のユーザ端末(例えば、ユーザ端末10b)とデータを送受信する場合には、特に明示が無い限りは、第2通信部121を介してデータを送受信するものとする。
 鍵生成部131は、前述したユーザ端末10bの鍵生成部131と同様である。鍵生成部131は、暗号鍵及び復号鍵を生成し、生成した暗号鍵及び復号鍵のうち、復号鍵を鍵情報記憶部143に記憶させる。また、鍵生成部131は、生成した暗号鍵及び復号鍵のうち、暗号鍵を、ネットワークサービスn0上でユーザ端末10aを特定するための識別情報と関連付けて、ネットワークサービスn0に送信する。このネットワークサービスn0に送信される暗号鍵が、暗号鍵key_Aに相当する。
 識別情報取得部141は、ユーザ端末10bから、ネットワークサービスn0上でユーザ端末10bを識別するための識別情報を取得し、取得した識別情報がネットワークサービスn0上でユーザ端末10aの識別情報と関連付けられているか否かを判別する。
 具体的な一例として、識別情報取得部141は、ユーザ端末10bから識別情報(ユーザID)とID種別d110とを取得する。識別情報取得部141は、取得したID種別d110に基づき、あわせて取得した識別情報(ユーザID)が、どのネットワークサービスn0のユーザIDかを特定する。
 ネットワークサービスn0を特定したら、識別情報取得部141は、取得したID種別d110に基づき、識別情報(ユーザID)が暗号化されているか否かを判別する。識別情報が暗号化されている場合には、識別情報取得部141は、特定したネットワークサービスn0にアクセスし、暗号化された識別情報を当該ネットワークサービスn0上で復号する。このとき、識別情報の復号は、ネットワークサービスn0側で実行してもよいし、識別情報取得部141がネットワークサービスn0から復号鍵を取得して復号を行ってもよい。なお、識別情報が暗号化されていない場合には、復号が必要ないことは言うまでもない。暗号化された識別情報を復号することで、識別情報取得部141は、ユーザ端末10bの使用者であるユーザubのユーザIDを取得する。
 また、識別情報取得部141は、ユーザ端末10bからデバイスIDを取得してもよい。取得したデバイスIDが暗号化されている場合には、識別情報取得部141は、ユーザIDの場合と同様に復号を行えばよい。なお、以降では、識別情報取得部141は、ユーザ端末10bからユーザID及びデバイスIDを取得したものとして説明する。
 識別情報取得部141は、取得したユーザID及びデバイスIDと、持ち主情報d10から抽出したID種別d110とを、鍵取得部142及び認証処理部144に通知する。
 なお、ユーザ端末10bから識別情報がユニキャストで送付されてきた場合には、ユーザ端末10bは、ユーザ端末10aに対応する暗号鍵key_Aにより、ユーザIDやデバイスIDを暗号化して送信している場合がある。この場合には、「相手の鍵を利用する方法」に基づき、ユーザ端末10bと相互に認証を行うことが可能である。そのため、識別情報取得部141は、ID種別d110が「内部レコード探索用暗号化アカウント」を示している場合には、鍵情報記憶部143に記憶された復号鍵に基づき暗号化されたユーザIDを復号することで、復号されたユーザIDを取得する。なお、デバイスIDが暗号化されている場合についても同様である。
 なお、互いを認証する方法として、ユーザ端末10aが許可していない方法をID種別d110が示している場合には、識別情報取得部141は、ユーザ端末10bからの接続要求を拒否してもよい。具体的な一例として、ユーザ端末10aが、「識別情報を暗号化する方法」のみを許可している場合に、ユーザ端末10bから取得した識別情報が暗号化アカウントではない場合には、識別情報取得部141は、ユーザ端末10bからの接続要求を拒否してもよい。
 また、別の一例として、ユーザ端末10aが、「識別情報を暗号化しない方法」のみを許可している場合に、ユーザ端末10bから取得した識別情報が暗号化アカウントのみの場合には、識別情報取得部141は、ユーザ端末10bからの接続要求を拒否してもよい。
 なお、接続要求を拒否した場合には、識別情報取得部141は、以降の処理を行わずに一連の処理を終了してもよい。また、このとき、識別情報取得部141は、ユーザ端末10bに、接続要求に対して応答ができない旨を通知してもよい。
 ユーザID及びデバイスIDを取得したら、識別情報取得部141は、ID種別d110が示すネットワークサービスn0の種別と、取得したユーザID及びデバイスIDとに関連付けられた暗号鍵が、鍵情報記憶部143に記憶されているか否かを確認する。なお、鍵情報記憶部143に暗号鍵を記憶させる処理については、別途後述する。
 対応する暗号鍵が鍵情報記憶部143に記憶されている場合には、識別情報取得部141は、取得したユーザID及びデバイスIDと、持ち主情報d10から抽出したID種別d110とを、認証処理部144に通知する。このとき、識別情報取得部141は、鍵取得部142に対して、必ずしもユーザID、デバイスID、及びID種別d110を通知する必要はない。
 鍵取得部142は、ユーザID、デバイスID、及びID種別d110を識別情報取得部141から取得する。鍵取得部142は、取得したID種別d110に対応するネットワークサービスn0にアクセスし、当該ネットワークサービスn0のソーシャルグラフを介して取得したユーザID及びデバイスIDを探索する。このとき、取得したユーザIDが示すユーザ(例えば、ユーザub)と、ユーザ端末10aのユーザuaがネットワークサービスn0で関連付けられている場合、鍵取得部142は、ネットワークサービスn0上で当該ユーザID及びデバイスIDを特定できる。
 なお、ソーシャルグラフの探索に係る処理は、ネットワークサービスn0(換言すると、ネットワークサービスn0を提供するサーバ50)が、鍵取得部142の依頼に基づき実行すればよい。また、他の一例として、ソーシャルグラフの探索に係る処理を鍵取得部142(即ち、ユーザ端末10a)が実行してもよい。この場合には、ネットワークサービスn0は、ソーシャルグラフの探索に係る処理を実行するためのデータやプログラムをユーザ端末10aに提供すればよい。
 ネットワークサービスn0上でユーザID及びデバイスIDを特定したら、鍵取得部142は、ネットワークサービスn0上のソーシャルグラフを介して、当該ユーザID及びデバイスIDに関連付けられた暗号鍵を取得する。これにより、鍵取得部142は、例えば、取得したユーザID及びデバイスIDにより特定されるユーザ端末10bと関連付けられた暗号鍵key_Bを、ネットワークサービスn0のソーシャルグラフを介して取得することが可能となる。
 暗号鍵を取得したら、鍵取得部142は、ネットワークサービスn0を介して取得した暗号鍵と、識別情報取得部141から取得したユーザID、デバイスID、及びID種別d110とを関連付けて認証処理部144に出力する。
 認証処理部144は、ユーザID、デバイスID、及びID種別d110を識別情報取得部141から取得する。認証処理部144は、取得したユーザID、デバイスID、及びID種別d110に関連付けられた暗号鍵を、鍵情報記憶部143から抽出する。鍵情報記憶部143の詳細については後述する。対応する暗号鍵が既に鍵情報記憶部143に記憶されている場合には、認証処理部144は、当該暗号鍵の抽出に成功する。暗号鍵の抽出に成功した場合には、認証処理部144は、抽出した暗号鍵に基づきデータを暗号化して、取得したユーザID及びデバイスIDにより特定されるユーザ端末10との間で、互いを認証する処理を実行する。
 対応する暗号鍵が鍵情報記憶部143に記憶されていない場合には、ユーザ端末10aの認証処理部144は、当該暗号鍵の抽出に失敗する。暗号鍵の抽出に失敗した場合には、認証処理部144は、ユーザID、デバイスID、及びID種別d110が関連付けられた暗号鍵を鍵取得部142から取得する。認証処理部144は、取得した暗号鍵に基づきデータを暗号化して、取得したユーザID及びデバイスIDにより特定されるユーザ端末10との間で、互いを認証する処理を実行する。また、認証処理部144は、鍵取得部142から取得した、ユーザID、デバイスID、及びID種別d110が関連付けられた暗号鍵を鍵情報記憶部143に記憶させる。
 なお、ユーザ端末10aが、識別情報を受信する側のユーザ端末10として動作する場合には、認証処理部144は、前述した認証処理部133として動作してもよい。そのため、以降では、「認証処理部133」及び「認証処理部144」のうちいずれか一方の認証処理部について記載した場合には、当該認証処理部は、他方の認証処理部としても動作可能であるものとする。
 鍵情報記憶部143は、鍵生成部131で生成された復号鍵を記憶する。なお、鍵情報記憶部143は、鍵生成部131で生成された暗号鍵を記憶していてもよい。
 また、鍵情報記憶部143は、ユーザID、デバイスID、及びID種別d110(換言すると、ネットワークサービスn0の種別)ごとに暗号鍵(他のユーザ端末10で生成または取得された暗号鍵)を記憶する。鍵情報記憶部143に記憶された各暗号鍵は、ユーザID、デバイスID、及びID種別d110を検索キーとして抽出可能に管理されている。ここで、図8を参照する。図8は、鍵情報記憶部143において、ユーザID、デバイスID、及びID種別d110を検索キーとして各暗号鍵を抽出可能に管理するための管理データd40の一例を示しした図である。
 図8において、参照番号d410a及びd410bは、ID種別d110に対応している。また、参照番号d420a~d420dのそれぞれは、ユーザIDを示しており、参照番号d430a~d430dのそれぞれは、デバイスIDを示している。また、参照番号d441a~d441dのそれぞれは、暗号鍵を示しており、参照番号d442a~d442dのそれぞれは、暗号鍵d441a~d441dのそれぞれが取得または更新された更新日時を示している。なお、以降では、暗号鍵d441a~d441dを特に区別しない場合には、「暗号鍵d441」と記載する場合がある。同様に、更新日時d442a~d442dを特に区別しない場合には、「更新日時d442」と記載する場合がある。
 具体的な一例として、「key_A1」で示される暗号鍵d441aは、「0x0001」で示されるID種別d410a、「account_A1」で示されるユーザIDd420a、及び「A_dev_id_AAA」で示されるデバイスIDd430aに関連付けられている。また、「YY/MM/DD HH:MM:SS」で示される更新日時d442aは、暗号鍵d441aが取得または更新された日時を示している。
 図8に示すように、ユーザID、デバイスID、及びID種別d110ごとに暗号鍵を管理することで、例えば、1人のユーザが異なる複数のユーザ端末10を使い分けているような場合においても、ユーザ端末10ごとに別の暗号鍵を設定することが可能となる。
 なお、ユーザ端末10間でデータを暗号化して送受信する際に、各ユーザ端末10で暗号化されたデータを正しく復号できれば、暗号鍵を管理する単位は図8に示す例には限定されない。例えば、あるユーザが複数のユーザ端末10を使用するような場合においても、当該複数のユーザ端末10間で共通の暗号鍵及び復号鍵を用いる場合には、ユーザIDごとに暗号鍵を管理すればよい。また、他の一例として、ユーザIDとは関連付けずに、デバイスIDごとに暗号鍵を管理してもよい。
 なお、ユーザ端末10aが、識別情報を受信する側のユーザ端末10として動作する場合には、鍵情報記憶部143は、前述した鍵情報記憶部132として動作してもよい。そのため、以降では、「鍵情報記憶部132」及び「鍵情報記憶部143」のうちいずれか一方の鍵情報記憶部について記載した場合には、当該鍵情報記憶部は、他方の鍵情報記憶部としても動作可能であるものとする。
 また、上記では、ネットワークサービスn0は、暗号鍵key_Sで暗号化されたユーザ端末10の識別情報を復号した場合に、復号された識別情報を識別情報取得部141に通知していたが、復号された識別情報を通知しないように動作させてもよい。例えば、ネットワークサービスn0は、ユーザ端末10bの識別情報を復号した場合に、ユーザ端末10bの識別情報をユーザ端末10aに通知せずに、ユーザ端末10aとユーザ端末10bとが関連付けられているかを確認する。そして、ユーザ端末10aとユーザ端末10bとが関連付けられている場合には、ネットワークサービスn0は、ユーザ端末10bの暗号鍵key_Bを取得し、取得した暗号鍵key_Bをユーザ端末10aに送信すればよい。このように動作させることで、ユーザ端末10aは、ユーザ端末10bの識別情報の内容を認識することなく、ユーザ端末10aとユーザ端末10bとが関連付けられている場合にのみ、ユーザ端末10bの暗号鍵key_Bを取得する。即ち、ユーザ端末10aに対して、ユーザ端末10bの識別情報を隠蔽しながら、ユーザ端末10bの暗号鍵key_Bをユーザ端末10aに受け渡すことが可能となる。
 [1.3.持ち主情報の配布]
 次に、ユーザ端末10が、他のユーザ端末10に識別情報(即ち、ユーザIDやデバイスID)やID種別d110を配布するための処理の概要について説明する。ユーザ端末10が、識別情報やID種別d110を他のユーザ端末10に配布する場合には、不特定多数の他のユーザ端末10にブロードキャストする方法と、特定のユーザ端末10にユニキャストする方法とがある。そこで、本項目では、ユーザ端末10が、識別情報やID種別d110をブロードキャストする場合に着目して説明することとし、ユニキャストする場合については、次項で別途後述する。
 ユーザ端末10のように、無線通信が可能な通信機器は、パッシブスキャンまたはアクティブスキャンと呼ばれる方法のいずれか、または双方を併用することで、周囲に存在する他のユーザ端末10の探索を行う。本実施形態に係るユーザ端末は、パッシブスキャンまたはアクティブスキャンを行う際の信号の送受信を利用することで、識別情報やID種別d110を他のユーザ端末10にブロードキャストする。以降では、まずパッシブスキャンの場合の一例について説明し、次いで、アクティブスキャンの場合の一例について説明する。
 (パッシブスキャン)
 パッシブスキャンの場合の一例について、図9を参照しながら説明する。図9は、ユーザ端末10が識別情報やID種別d110を他のユーザ端末10に配布する方法の一例について説明するための図であり、パッシブスキャンの場合を示している。
 パッシブスキャンの場合には、ユーザ端末10が、所定の周期で、周囲に存在する他のユーザ端末10にビーコンを送信する。例えば、図9に示す例では、ユーザ端末10aが、所定の周期で、周囲に存在する他のユーザ端末10bにビーコンb10a~b10cを送信している。ビーコンb10a~b10cには、送信元であるユーザ端末10aを特定するための情報が含まれている。そのため、ユーザ端末10bは、ビーコンb10a~b10cの少なくともいずれかを受信することで、ユーザ端末10aが周囲に存在することを認識することが可能となる。
 本実施形態に係るユーザ端末10は、前述したビーコンb10a~b10cに識別情報やID種別d110を含めることで、他のユーザ端末に主情報やデバイスIDを配布する。なお、以降では、ビーコンb10a~b10cを特に区別しない場合には、単に「ビーコンb10」と記載する場合がある。また、本説明では、ビーコンb10の送信側をユーザ端末10aとし、ビーコンb10の受信側をユーザ端末10bとして説明する。
 ここで、図10を参照しながら、本実施形態に係るビーコンb10として送信される通信データd20のデータ構造について説明する。図10は、ユーザ端末10が識別情報やID種別d110を送信するための通信データd20のデータ構造の一例を示した図である。
 図10に示すように、通信データd20は、プリアンブルd21と、ヘッダd22と、ビーコン情報d23とを含む。
 プリアンブルd21は、通信機器間が通信を行う際に信号の同期をとるためのデータであり、一般的には、フレームの直前(換言すると、通信データd20の先頭)に配置される。また、ヘッダd22は、通信データd20の送信元、宛先、通信データd20の種別(例えば、ビーコン情報d23が含まれるか)等の制御情報を格納するための領域である。また、ヘッダd22には、ビーコン情報d23に含まれる各情報の種別や、当該情報が格納された位置を示す情報が含まれている。これにより、ユーザ端末10は、ヘッダd22を解析することで、受信した通信データd20がビーコンb10か否かを判別したり、通信データd20に格納された情報を抽出することが可能となる。
 本実施形態に係る通信データd20のビーコン情報d23は、持ち主情報d250を含む点で、既存の無線通信に用いられるビーコン情報と異なる。なお、通信データd20は、既存の無線通信用いられるビーコン情報と同様に、時刻情報d231、ネットワークIDd232、ネットワーク属性d233、サービス情報d240、及びその他情報d260を含み得る。なお、時刻情報d231、ネットワークIDd232、ネットワーク属性d233、及びその他情報d260については、詳細な説明は省略する。
 サービス情報d240は、通信データd20の送信元であるユーザ端末10aが提供可能なサービスに関する情報を格納するための領域である。サービス情報d240は、ElementIDd241と、Lengthd242と、1以上のサービス通知フィールドd243とを含む。ElementIDd241は、該当するデータでサービス情報d240であることを示す識別情報が格納される。また、Lengthd242は、サービス報知フィールドd243の数、または、当該数に応じて決まるデータの長さが示されている。即ち、Lengthd242は、どこまでがサービス通知フィールドd243に対応するデータであるかを示している。
 サービス通知フィールドd243には、ユーザ端末10aが提供可能な各サービスに関する情報が示されている。例えば、ユーザ端末10が、M個のサービスを提供可能な場合には、M個のサービスそれぞれに対してサービス通知フィールドd243が生成される。
 持ち主情報d250は、前述した持ち主情報d10を格納するための領域である。持ち主情報d250は、ElementIDd251と、Lengthd252と、1以上の持ち主情報フィールドd243とを含む。ElementIDd251は、該当するデータで持ち主情報d250であることを示す識別情報が格納される。また、Lengthd252は、持ち主情報フィールドd243の数、または、当該数に応じて決まるデータの長さが示されている。即ち、Lengthd242は、どこまでが持ち主情報フィールドd243に対応するデータであるかを示している。
 持ち主情報フィールドd243は、ユーザ端末10aが、送信先である他のユーザ端末10にユーザIDを配布するために、前述した持ち主情報d10を格納するための領域である。持ち主情報フィールドd243は、ID種別領域d254と、持ち主ID領域d255とを含む。
 ID種別領域d254には、持ち主情報d10のID種別d110が格納される。また、持ち主ID領域d255には、持ち主情報d10において、ID種別領域d254に格納されたID種別d110と関連付けられたユーザIDが格納される。
 通信データd20の送信元であるユーザ端末10aは、自身に記憶された持ち主情報d10のうちの一部または全部を各持ち主フィールドd253に格納することで、各持ち主情報d10を他のユーザ端末10に配布する。これにより、持ち主情報d10の持ち主IDd120に示されたユーザID(暗号化された、もしくは暗号化されていないユーザID)が他のユーザ端末10に配布される。
 なお、通信データd20は、相手を特定せずに送信される(ブロードキャストされる)。そのため、通信データd20により配布される情報を暗号化する場合には、暗号鍵として、例えば、ネットワークサービスn0が提供する暗号鍵key_Sのように、復号可能な相手が一意に限定されない暗号鍵を用いるとよい。
 なお、送信元であるユーザ端末10aは、通信データd20にデバイスIDを格納して、送信先である他のユーザ端末10bに配布してもよい。この場合には、ユーザ端末10aは、ヘッダd22に、通信データd20の送信元を示す制御情報として、自身のデバイスIDを格納してもよいし、ビーコン情報d23にその他情報d260としてデバイスIDを格納してもよい。また、他の一例として、ユーザ端末10aは、デバイスIDを持ち主情報フィールドd253に格納してもよい。この場合には、ユーザ端末10aは、対応する持ち主情報フィールドd253に格納された持ち主IDと同様の方法(同様の暗号鍵)により、デバイスIDを暗号化してもよい。
 なお、上記に示した通信データd20の例はあくまで一例であり送信元であるユーザ端末10aが、他のユーザ端末10に識別情報や当該識別情報のID種別d110を配布できれば、通信データd20のデータ形式は限定されない。また、ユーザ端末10aは、必ずしも全てのデータを1つの通信データd20として送信しなくてもよい。例えば、ユーザ端末10aは、サービス情報d240と持ち主情報d250とを異なる通信データd20で別々に送信してもよい。
 以上のようにして、ビーコンb10(即ち、通信データd20)を受信したユーザ端末10bは、周囲に存在する他のユーザ端末10(例えば、ユーザ端末10a)を認識する。このとき、ユーザ端末10bは、例えば、アドホックネットワークを構築するために接続先となる他のユーザ端末10の候補をユーザに提示してもよい。
 例えば、図11は、接続先の候補を選択するための画面の一例である。図11に示す例では、ユーザ端末10bは、周囲にユーザ端末10a、10c、10dが存在することを認識し、ユーザ端末10a、10c、10dが接続先の候補であることを示す選択肢v10a、v10c、v10dを、表示部103に表示させている。即ち、この場合には、ユーザ端末10bは、ユーザからの選択を受けて、選択された他のユーザ端末10と通信を確立するために、互いを認証するための処理を実行してもよい。また、他の一例として、ユーザ端末10bは、接続先の候補の表示やユーザによる候補の選択を介することなく、認識した他のユーザ端末10と、自動で、互いを認証するための処理を実行してもよい。
 また、ユーザ端末10bは、ビーコンb10(即ち、通信データd20)に含まれるID種別d110に基づき、ビーコンb10に含まれるユーザIDが、どのネットワークサービスn0のユーザIDかを特定することができる。また、ユーザ端末10bは、ID種別d110に基づきユーザIDが暗号化されているか否かや、送信元のユーザ端末が互いを認証する方法としていずれを許可しているかを認識することができる。そのため、ユーザ端末10bは、選択肢v10a、v10c、v10dを表示させる場合に、上述したID種別d110に基づき特定される、ネットワークサービスn0の違い、ユーザIDが暗号化されているか否か、及び、互いを認証する方法の違いをあわせて表示させてもよい。
 (アクティブスキャン)
 次に、アクティブスキャンの場合の一例について、図12を参照しながら説明する。図12は、ユーザ端末10が持ち主情報やデバイスIDを他のユーザ端末10に配布する方法の一例について説明するための図であり、アクティブスキャンの場合を示している。
 アクティブスキャンの場合には、ユーザ端末10が、周囲に存在する他のユーザ端末10に対して問合せの要求メッセージを送信し、その問合せに応答した他のユーザ端末10から応答メッセージを受信する。例えば、図12に示す例では、ユーザ端末10bが、問合せメッセージb20a及びb20bを、周囲に存在する他のユーザ端末10aに送信している。
 ユーザ端末10aは、ユーザ端末10bから受けた要求メッセージb20a及びb20bに対して、応答が可能な状態であれば、応答メッセージを送信する。例えば、図12に示す例では、ユーザ端末10aは、応答が可能なタイミングT10で受けた要求メッセージb20bに対する応答メッセージb30をユーザ端末10bに送信している。この応答メッセージb30を受けることで、ユーザ端末10bは、ユーザ端末10aの存在を認識することができる。なお、以降では、要求メッセージb20a及びb20bを特に区別しない場合には、「要求メッセージb20」と記載する場合がある。
 なお、ユーザ端末10aは、応答メッセージb30に自身の識別情報(例えば、ユーザIDやデバイスID)とID種別d110とを格納して送信してもよい。これにより、ユーザ端末10bは、応答メッセージb30に含まれるID種別d110に基づき、あわせて通知された識別情報が、どのネットワークサービスn0のユーザIDかを特定することができる。また、ユーザ端末10bは、取得したID種別d110に基づきユーザIDが暗号化されているか否か、及び、送信元が許可している互いを認証する方法を認識することができる。
 なお、ユーザ端末10aは、応答メッセージb30をユーザ端末10bにユニキャストしてもよいし、応答メッセージb30をブロードキャストすることでユーザ端末10bに送信してもよい。応答メッセージb30をブロードキャストする場合には、ユーザ端末10aは、通信データとして前述した通信データd20を用いてもよい。
 ここで、図13を参照しながら、本実施形態に係る無線通信システムにおいて特定の相手と情報を送受信する(ユニキャストする)場合に用いる通信データd30aについて説明する。図13は、本実施形態に係る無線通信システムにおいて情報を送受信するための通信データd30aのデータ構造の一例を示した図である。
 図13に示すように、通信データd30aは、ヘッダd310と、送信者情報d320、受信者情報d330、NONCEd340、公開鍵情報d350、及びアクセスポイント情報d360のそれぞれを格納するための格納領域を含む。また、送信者情報d320は、送信者ユーザIDd321と、送信者デバイスIDd322とを含む。同様に、受信者情報d330は、受信者ユーザIDd331と、受信者デバイスIDd332とを含む。なお、以降では、通信データd30aの送信元をユーザ端末10a、送信先をユーザ端末10bとして説明する。
 ヘッダd310は、通信データd30aが、ユーザ端末10a及び10bの間で接続を確立するための通信シーケンスのうちどの処理に対応したデータであるかを示す制御情報や、後述する各情報が格納された位置を示す情報が含まれている。これにより、通信データd30aを受信したユーザ端末10bは、ヘッダd310を解析することで、当該通信データd30aがどの処理を実行するためのものかを判別し、当該通信データd30aから各情報を抽出することが可能となる。
 また、ヘッダd310には、後述する送信者ユーザIDd321や受信者ユーザIDd331に格納されたユーザIDが、どのネットワークサービスn0のユーザIDを示しているかを識別するための情報が含まれていてもよい。
 送信者情報d320は、通信データd30aの送信元となるユーザ端末10aを特定するための識別情報を格納するための領域である。
 送信者ユーザID321は、ユーザ端末10aを特定するためのユーザIDを格納するための領域である。具体的には、送信者ユーザID321には、ユーザuaのネットワークサービスn0上におけるユーザIDが格納される。
 送信者デバイスIDd322は、ユーザ端末10aを特定するためのデバイスIDを格納するための領域である。具体的な一例として、送信者デバイスIDd322には、MACアドレスのようにユーザ端末10aを一意に特定する情報を格納してもよい。なお、他の一例として、ネットワークサービスn0上でユーザ端末10aを特定できれば、送信者デバイスIDd322に格納される情報はMACアドレスに限られない。
 受信者情報d330は、通信データd30aの受信するユーザ端末10bを特定するための識別情報を格納するための領域である。
 受信者ユーザIDd331は、ユーザ端末10bを特定するためのユーザIDを格納するための領域である。なお、受信者ユーザIDd331に格納される情報の種別は、送信者ユーザID321に格納される情報と同様である。
 受信者デバイスIDd332は、ユーザ端末10bを特定するためのデバイスIDを格納するための領域である。なお、受信者デバイスIDd332に格納される情報の種別は、送信者デバイスIDd322に格納される情報と同様である。
 NONCEd340は、送信元であるユーザ端末10と、送信先である他のユーザ端末とが、互いの暗号鍵及び復号鍵を用いて互いを認証するための情報を格納するための領域である。
 例えば、送信元のユーザ端末10(ユーザ端末10aとする)は、所定の方法により作成した文字列を送信先である他のユーザ端末10(ユーザ端末10bとする)の暗号鍵key_Bを用いて暗号化し、暗号化された文字列をNONCEd340に格納してユーザ端末10bに送信する。
 ユーザ端末10bは、ユーザ端末10aから送信された通信データd30aのNONCEd340に格納された情報を自身の復号鍵で復号する。ユーザ端末10bは、復号された情報をユーザ端末10aの暗号鍵key_Aで暗号化し、暗号化された情報をNONCEd340に格納してユーザ端末10aに返送する。
 ユーザ端末10aは、ユーザ端末10bから返送された通信データd30aのNONCEd340に格納された情報を自身の復号鍵で復号する。このとき、ユーザ端末10a及び10bの双方で暗号化及び復号が正しく行われていれば、復号された情報と、ユーザ端末10aが生成した文字列(暗号鍵key_Bによる暗号化前の文字列)とが一致する。即ち、ユーザ端末10aは、復号された情報を、自身で生成した文字列と比較し一致する場合に、接続先であるユーザ端末10bを信頼できる相手として認識することが可能である。
 公開鍵情報d350は、送信元のユーザ端末10(ユーザ端末10aとする)が、自身の暗号鍵(例えば、暗号鍵key_A)を格納し、送信先である他のユーザ端末10(ユーザ端末10bとする)に送信するための領域である。
 アクセスポイント情報d360は、送信元のユーザ端末10(ユーザ端末10aとする)が、自身との相互接続を確立するための情報(例えば、アクセスポイントの情報)を格納し、送信先である他のユーザ端末10(ユーザ端末10bとする)に送信するための領域である。
 なお、送信元のユーザ端末10が、送信先である他のユーザ端末10との接続シーケンスにおいて、その時々で必要な情報を他のユーザ端末10に通知できれば、必ずしも各領域に情報が格納されている必要はないし、同様に各領域を設けなくてもよい。その場合には、送信元のユーザ端末10は、送信先である他のユーザ端末10が正しく情報を読み出せるように、ヘッダd310の内容を適宜生成または変更すればよい。また、図13に示す通信データd30aのデータ形式は一例であり、図13に示した各情報をユーザ端末10間で送受信できれば、通信データd30aのデータ形式は限定されない。
 [1.4.通信シーケンス(識別情報を暗号化しない方法)]
 次に、ユーザ端末10a及び10bとの間で互いを認証し、相互接続を確立する場合の処理の流れ(即ち、通信シーケンス)について説明する。ここでは、図14を参照しながら、本実施形態に係る無線通信システムにおいて、識別情報の暗号化を行わない場合の通信シーケンスについて説明する。図14は、本実施形態に係る無線通信システムにおける通信処理シーケンスの一例を示したシーケンス図であり、識別情報の暗号化を行わない場合の一連のシーケンスについて示している。なお、図14に示す例は、ユーザ端末10bがユーザ端末10aに対して接続要求を出す場合について示している。
 (ステップS101)
 まず、ユーザ端末10bの識別情報通知部136は、識別情報記憶部135に持ち主情報d10として記憶された、ユーザ端末10bを特定するための識別情報のうち、暗号化されていない識別情報をユーザ端末10aに配布する。図14に示す例では、識別情報通知部136は、識別情報として、ネットワークサービスn0上におけるユーザubのユーザID「B_account」と、ユーザ端末10bのデバイスID「B_dev_id」をユーザ端末10aに配布している。
 このときユーザ端末10bの識別情報通知部136は、ID種別d110を、あわせてユーザ端末10aに通知してもよい。これにより、ID種別d110を受信したユーザ端末10aは、当該ID種別に基づき、ユーザID「B_account」がどのネットワークサービスn0のユーザIDかや、互いを認証する方法としてどの方法を許可しているかを認識できる。
 なお、本項では、ID種別d120は、互いを認証する方法として「識別情報を暗号化しない方法」が設定されているものとして説明する。互いを認証する方法として「識別情報を暗号化する方法」及び「相手の鍵を利用する方法」が設定されている場合については、「1.5.通信シーケンス(識別情報を暗号化する方法)」及び「1.6.通信シーケンス(相手の鍵を利用する方法)」にてそれぞれ説明する。
 また、ユーザ端末10bの識別情報通知部136は、ユーザ端末10bを特定するための識別情報をブロードキャストすることでユーザ端末10aに配布してもよい。この場合には、ユーザ端末10bの識別情報通知部136は、例えば、パッシブスキャン時のビーコンb10(図9参照)として、ユーザ端末10bを特定するための識別情報をユーザ端末10aに配布(ブロードキャスト)してもよい。また、ユーザ端末10bの識別情報通知部136は、当該識別情報をユーザ端末10aに向けてユニキャストしてもよい。この場合には、ユーザ端末10bの識別情報通知部136は、ユーザ端末10aからの要求メッセージb20に対する応答メッセージb30として、ユーザ端末10bを特定するための識別情報をユーザ端末10aに配布(ユニキャスト)してもよい。
 また、ユーザ端末10bが他のユーザ端末10aに情報をユニキャストする場合には、ユーザ端末10bは、接続先の情報として、接続先であるユーザ端末10aを識別するための情報(例えば、ユーザIDやデバイスID)をあわせて送信してもよい。これにより、ユーザ端末10aは、接続先の情報に自身の識別情報が含まれているか否かに応じて、受信した情報が自身に宛てられたものか否かを判断することができる。
 なお、接続先の情報は、例えば、サービス固有の暗号鍵key_Sで暗号化してもよい。この場合には、ユーザ端末10aは、対応するネットワークサービスn0にアクセスすることで、接続先の情報を復号し、復号された接続先の情報に基づき、受信した情報が自身に宛てられたものか否かを判断すればよい。なお、以降では、ユーザ端末10間で情報をユニキャストする場合には、特に説明が無い場合には、接続先の情報を含んでもよく、当該接続先の情報は、暗号鍵key_Sにより暗号化されていてもよいものとする。また、ユーザ端末10bが、ユーザ端末10aに対応する暗号鍵key_Aを既に取得している場合には、接続先の情報を暗号鍵key_Aで暗号化してもよい。この場合には、ユーザ端末10aは、自身の復号鍵で接続先の情報を復号すればよい。
 (ステップS111)
 ユーザ端末10aの識別情報取得部141は、ユーザ端末10bを特定するための識別情報をユーザ端末10bから取得する。このとき、ユーザ端末10aは、ネットワークサービスn0上で自身を特定するための識別情報をユーザ端末10bに返送する。この場合には、ユーザ端末10aが「識別情報を送信する側のユーザ端末10」として動作する(図4参照)。以下に、ステップS111の処理として、この場合のユーザ端末10aの動作について説明する。
 ユーザ端末10bから識別情報を取得したら、ユーザ端末10aの識別情報通知部136は、自身を特定するための識別情報を識別情報記憶部135から抽出する。このとき、識別情報通知部136は、あわせてユーザ端末10bから通知されたID種別d110と同じ種別に対応する持ち主情報d10から識別情報を取得する。この場合には、暗号化されていない識別情報が抽出される。なお、ユーザ端末10bから通知されたID種別d110と同じ種別に対応する持ち主情報d10が識別情報記憶部135に記憶されていない場合(即ち、そのID種別d110を許可していない場合)には、識別情報通知部136は、ユーザ端末10bに対して応答を行わなくてもよい。また、このとき識別情報通知部136は、ユーザ端末10bに応答を行えない旨を通知してもよい。
 識別情報記憶部135から自身の識別情報を抽出したら、ユーザ端末10aの識別情報通知部136は、抽出した識別情報(即ち、暗号化されていない識別情報)をユーザ端末10bに返送する。図14に示す例では、ユーザ端末10aの識別情報通知部136は、ネットワークサービスn0上でユーザuaを特定するためのユーザID「A_account」と、自信を特定するためのデバイスID「A_dev_id」とを、識別情報として返送している。なお、このときユーザ端末10aの識別情報通知部136は、ユーザID「A_account」がどのネットワークサービスn0のユーザIDを示したID種別d110を、あわせてユーザ端末10bに通知してもよい。
 (ステップS121)
 また、ユーザ端末10aの識別情報取得部141は、取得したユーザ端末10bを特定するための識別情報(即ち、ユーザID「B_account」及びデバイスID「B_dev_id」)をネットワークサービスn0に送信する。
 なお、ユーザ端末10aがネットワークサービスn0との間で通信を行う場合には、図13に示した通信データd30aを用いてデータの送受信を行ってもよい。この場合には、例えば、送信者情報d320には、ユーザ端末10aの情報が格納される。これにより、ネットワークサービスn0は、ユーザ端末10aからの通信であると認識することができる。また、受信者情報d330には、ユーザ端末10bの情報が格納される。これにより、ネットワークサービスn0は、ソーシャルグラフを介した探索の対象として、ユーザ端末10bの識別情報(即ち、ユーザID及びデバイスID)を取得することができる。なお、以降では、ユーザ端末10a、ユーザ端末10b、及びネットワークサービスn0の間では、図13に示す通信データd30aに基づき、情報がユニキャストされるものとする。
 (ステップS122)
 ネットワークサービスn0(換言すると、ネットワークサービスn0を提供するサーバ50)は、ユーザ端末10aからユーザ端末10bを特定するための識別情報を取得する。ネットワークサービスn0は、取得した識別情報に基づきソーシャルグラフを探索し、ユーザ端末10aとユーザ端末10bとが関連付けられているかを確認する。図14に示す例では、ネットワークサービスn0は、ユーザID「A_account」及びデバイスID「A_dev_id」がソーシャルグラフを介してユーザID「B_account」及びデバイスID「B_dev_id」に関連付けられているかを確認する。なお、ネットワークサービスn0は、ソーシャルグラフの探索結果、即ち、ユーザ端末10aとユーザ端末10bとが関連付けられているかの確認結果を、ユーザ端末10aの識別情報取得部141に通知してもよい。また、ネットワークサービスn0上でソーシャルグラフを探索する処理は、ユーザ端末10aが実行してもよい。その場合には、ネットワークサービスn0は、ソーシャルグラフの探索に係る処理を実行するためのデータやプログラムをユーザ端末10aに提供すればよい。
 ユーザ端末10aとユーザ端末10bとが関連付けられている場合には、ネットワークサービスn0は、ユーザ端末10bに関連付けられた暗号鍵key_Bを、ソーシャルグラフを介して取得する。
 (ステップS123)
 暗号鍵key_Bを取得できたら、ネットワークサービスn0は、取得した暗号鍵key_Bをユーザ端末10aの鍵取得部142に返送する。このとき、ネットワークサービスn0は、例えば、通信データd30aの公開鍵情報d350に、取得した暗号鍵key_Bを格納して、当該通信データd30aをユーザ端末10aに送信することで、暗号鍵key_Bをユーザ端末10aに返送してもよい。
 なお、暗号鍵key_Bの取得に失敗したら、ネットワークサービスn0は、暗号鍵key_Bの取得に失敗した旨をユーザ端末10aに通知してもよい。このネットワークサービスn0からの通知を受けることで、ユーザ端末10aは、ネットワークサービスn0上で、自身がユーザ端末10bと関連付けられていないことを認識することができる。この場合には、ユーザ端末10aは、ユーザ端末10bを信頼できる相手とはみなさず、通信を確立せずに一連の処理を終了すればよい。このとき、ユーザ端末10aは、互いの認証に失敗したことをユーザ端末10bに通知してもよい。
 暗号鍵key_Bを取得したら、ユーザ端末10aの鍵取得部142は、取得した暗号鍵key_Bと、ユーザ端末10bから取得したユーザID、デバイスID、及びID種別d110とを関連付けてユーザ端末10aの認証処理部144に出力する。
 ユーザ端末10aの認証処理部144は、ユーザ端末10bから送信されたユーザID、デバイスID、及びID種別d110を識別情報取得部141から取得する。ユーザ端末10aの認証処理部144は、取得したユーザID、デバイスID、及びID種別d110に関連付けられた暗号鍵を、鍵情報記憶部143から抽出する。対応する暗号鍵が既に鍵情報記憶部143に記憶されている場合には、認証処理部144は、当該暗号鍵の抽出に成功する。図14に示す例では、暗号鍵key_Bが抽出される。
 なお、対応する暗号鍵が鍵情報記憶部143に記憶されていない場合には、認証処理部144は、当該暗号鍵の抽出に失敗する。暗号鍵の抽出に失敗した場合には、認証処理部144は、ユーザID、デバイスID、及びID種別d110が関連付けられた暗号鍵を鍵取得部142から取得する。図14に示す例では、暗号鍵key_Bが取得される。以降は、ユーザ端末10aの認証処理部144は、暗号鍵key_Bを取得したものとして説明する。
 (ステップS131)
 ユーザ端末10aと同様に、ユーザ端末10bは、ユーザ端末10aを特定するための識別情報をユーザ端末10aから取得する。この場合には、ユーザ端末10bが「識別情報を受信する側のユーザ端末10」として動作する(図7参照)。具体的には、ユーザ端末10bの識別情報取得部141は、ユーザ端末10aを特定するための識別情報をユーザ端末10aから取得する。ユーザ端末10bの識別情報取得部141は、取得したユーザ端末10aを特定するための識別情報(即ち、ユーザID「A_account」及びデバイスID「A_dev_id」)をネットワークサービスn0に送信する。
 (ステップS132)
 ネットワークサービスn0(換言すると、ネットワークサービスn0を提供するサーバ50)は、ユーザ端末10bからユーザ端末10aを特定するための識別情報を取得する。ネットワークサービスn0は、取得した識別情報に基づきソーシャルグラフを探索し、ユーザ端末10bとユーザ端末10aとが関連付けられているかを確認する。図14に示す例では、ネットワークサービスn0は、ユーザID「B_account」及びデバイスID「B_dev_id」がソーシャルグラフを介してユーザID「A_account」及びデバイスID「A_dev_id」に関連付けられているかを確認する。
 ユーザ端末10bとユーザ端末10aとが関連付けられている場合には、ネットワークサービスn0は、ユーザ端末10aに関連付けられた暗号鍵key_Aを、ソーシャルグラフを介して取得する。
 (ステップS133)
 暗号鍵key_Aを取得できたら、ネットワークサービスn0は、取得した暗号鍵key_Aをユーザ端末10bに返送する。このとき、ネットワークサービスn0は、例えば、通信データd30aの公開鍵情報d350に、取得した暗号鍵key_Aを格納して、当該通信データd30aをユーザ端末10bに送信することで、暗号鍵key_Aをユーザ端末10bに返送してもよい。
 なお、暗号鍵key_Aの取得に失敗したら、ネットワークサービスn0は、暗号鍵key_Aの取得に失敗した旨をユーザ端末10bに通知してもよい。このネットワークサービスn0からの通知を受けることで、ユーザ端末10bは、ネットワークサービスn0上で、自身がユーザ端末10aと関連付けられていないことを認識することができる。この場合には、ユーザ端末10bは、ユーザ端末10aを信頼できる相手とはみなさず、通信を確立せずに一連の処理を終了すればよい。
 暗号鍵key_Aを取得したら、ユーザ端末10bの鍵取得部142は、取得した暗号鍵key_Aと、ユーザ端末10aから取得したユーザID、デバイスID、及びID種別d110とを関連付けてユーザ端末10bの認証処理部144に出力する。なお、ここで説明したユーザ端末10bの認証処理部144は、「識別情報を送信する側のユーザ端末10」として動作する場合の「認証処理部133」に対応する。そこで、以降では、「認証処理部133」と記載した場合には「認証処理部144」と同様の構成であるものとする。
 ユーザ端末10bの認証処理部144は、ユーザ端末10aから送信されたユーザID、デバイスID、及びID種別d110を識別情報取得部141から取得する。ユーザ端末10bの認証処理部144は、取得したユーザID、デバイスID、及びID種別d110に関連付けられた暗号鍵を、鍵情報記憶部143から抽出する。対応する暗号鍵が既に鍵情報記憶部143に記憶されている場合には、認証処理部144は、当該暗号鍵の抽出に成功する。図14に示す例では、暗号鍵key_Aが抽出される。
 なお、対応する暗号鍵が鍵情報記憶部143に記憶されていない場合には、ユーザ端末10bの認証処理部144は、当該暗号鍵の抽出に失敗する。暗号鍵の抽出に失敗した場合には、ユーザ端末10bの認証処理部144は、ユーザID、デバイスID、及びID種別d110が関連付けられた暗号鍵を鍵取得部142から取得する。図14に示す例では、暗号鍵key_Aが取得される。以降は、ユーザ端末10bの認証処理部144は、暗号鍵key_Aを取得したものとして説明する。
 (ステップS112)
 ここで、再度、ユーザ端末10aの処理に着目する。ユーザ端末10aの認証処理部144は、抽出したユーザ端末10bに対応する暗号鍵key_Bに基づきデータを暗号化して、取得したユーザID及びデバイスIDにより特定されるユーザ端末10bとの間で、互いを認証する処理を実行する。
 具体的には、ユーザ端末10aの認証処理部144は、ユーザ端末10aとユーザ端末10bとの間で互いの暗号鍵及び復号鍵を用いて互いを認証するための情報(以降では「NONCE」と呼ぶ場合がある)を生成する。具体的には、ユーザ端末10aの認証処理部144は、所定の方法により文字列を作成する。この作成された文字列が「NONCE」に相当する。なお、「NONCE」を生成する方法は特に限定されない。例えば、ランダムに生成された文字列でもよいし、日付や時間、ユーザIDやデバイスID等の所定の情報を組み合わせた文字列でもよい。
 ユーザ端末10aの認証処理部144は、生成したNONCEを、抽出したユーザ端末10bに対応する暗号鍵key_Bで暗号化する。なお、以降では、暗号鍵key_Bで暗号化されたNONCEを「key_B:NONCE」と記載する場合がある。
 (ステップS113)
 ユーザ端末10aの認証処理部144は、暗号鍵key_Bで暗号化されたkey_B:NONCEをユーザ端末10bに送信する。このとき、ユーザ端末10aの認証処理部144は、例えば、通信データd30aのNONCEd340に、暗号化されたkey_B:NONCEを格納して、当該通信データd30aをユーザ端末10bに送信してもよい。
 (ステップS102)
 ユーザ端末10bの認証処理部133(即ち、前述の認証処理部144)は、ユーザ端末10aから暗号鍵key_Bで暗号化されたkey_B:NONCEを取得する。
 ユーザ端末10bの認証処理部133は、取得したkey_B:NONCEを、鍵情報記憶部132に記憶された自身(ユーザ端末10b)に対応する復号鍵で復号する。key_B:NONCEを復号したら、ユーザ端末10bの認証処理部133は、抽出したユーザ端末10aに対応する暗号鍵key_Aに基づき復号されたNONCEを再度暗号化する。なお、以降では、暗号鍵key_Aで暗号化されたNONCEを「key_A:NONCE」と記載する場合がある。
 (ステップS103)
 ユーザ端末10bの認証処理部133は、暗号鍵key_Aで暗号化されたkey_A:NONCEをユーザ端末10aに送信する。このとき、ユーザ端末10bの認証処理部133は、例えば、通信データd30aのNONCEd340に、暗号化されたkey_A:NONCEを格納して、当該通信データd30aをユーザ端末10aに送信してもよい。
 (ステップS114)
 ユーザ端末10aの認証処理部144は、ユーザ端末10bから暗号鍵key_Aで暗号化されたkey_A:NONCEを取得する。
 ユーザ端末10aの認証処理部144は、取得したkey_A:NONCEを、鍵情報記憶部132に記憶された自身(ユーザ端末10a)に対応する復号鍵で復号する。
 (ステップS115)
 key_A:NONCEを復号したら、ユーザ端末10aの認証処理部144は、復号されたNONCEと、自身が生成したNONCE(暗号鍵key_Bによる暗号化前のNONCE)とを比較する。このとき、ユーザ端末10a及び10bの双方で暗号化及び復号が正しく行われていれば、復号されたNONCEと、ユーザ端末10aが生成したNONCEとが一致する。この場合には、ユーザ端末10aの認証処理部144は、接続先であるユーザ端末10bを信頼できる相手として認識することが可能である。
 (ステップS116)
 復号されたNONCEと、自身が生成したNONCEが一致したら、ユーザ端末10aの認証処理部144は、自身(ユーザ端末10a)との相互接続を確立するための情報を暗号鍵key_Bで暗号化する。ユーザ端末10aとの相互接続を確立するための情報としては、例えば、アクセスポイントの情報が挙げられる。以降では、ユーザ端末10aとの相互接続を確立するための情報を「A_access_point」と記載する場合がある。また、暗号鍵key_Bで暗号化されたA_access_pointを「key_B:A_access_point」と記載する場合がある。
 (ステップS118)
 また、復号されたNONCEと自身が生成したNONCEが一致することで、ユーザ端末10aの認証処理部144は、ユーザ端末10bとの間の通信で使用した暗号鍵key_Bが正しい暗号鍵であると認識することができる。
 ユーザ端末10aの認証処理部144は、取得した暗号鍵key_Bが鍵情報記憶部143に記憶されているかを確認する。当該暗号鍵key_Bが鍵情報記憶部143に記憶されていない場合には、ユーザ端末10aの認証処理部144は、ユーザID、デバイスID、及びID種別d110が関連付けられた当該暗号鍵key_Bを鍵情報記憶部143に記憶させる。このように、鍵情報記憶部143に暗号鍵key_Bを記憶させることで、ユーザ端末10aの認証処理部144は、以降にユーザ端末10bと通信を行う場合に、暗号鍵key_Bを、ネットワークサービスn0経由で改めて取得する必要がなくなる。即ち、ユーザ端末10aの認証処理部144は、以降は、ユーザ端末10bとの間で互いを認証する方法として、「相手の鍵を利用する方法」を利用することが可能となる。
 (ステップS108)
 ユーザ端末10bの認証処理部133は、暗号鍵key_Bで暗号化されたkey_B:A_access_pointをユーザ端末10aから取得する。ユーザ端末10aから暗号化されたkey_B:A_access_pointが通知されることで、ユーザ端末10bの認証処理部133は、ユーザ端末10aとの間の通信で使用した暗号鍵key_Aが正しい暗号鍵であると認識することができる。
 ユーザ端末10bの認証処理部133は、取得した暗号鍵key_Aが鍵情報記憶部132に記憶されているかを確認する。なお、ここで説明したユーザ端末10bの鍵情報記憶部132は、「識別情報を受信する側のユーザ端末10」として動作する場合の「鍵情報記憶部143」に対応する。そのため、以降では、ユーザ端末10bが「識別情報を受信する側のユーザ端末10」として動作した際に「鍵情報記憶部143」に記憶された情報は、同様に、鍵情報記憶部132に記憶されているものとして説明する。
 当該暗号鍵key_Aが鍵情報記憶部132に記憶されていない場合には、ユーザ端末10bの認証処理部133は、ユーザID、デバイスID、及びID種別d110が関連付けられた当該暗号鍵key_Aを鍵情報記憶部132に記憶させる。このように、鍵情報記憶部132に暗号鍵key_Aを記憶させることで、ユーザ端末10bの認証処理部133は、以降にユーザ端末10aと通信を行う場合に、暗号鍵key_Aを、ネットワークサービスn0経由で改めて取得する必要がなくなる。即ち、ユーザ端末10bの認証処理部133は、以降は、ユーザ端末10aとの間で互いを認証する方法として、「相手の鍵を利用する方法」を利用することが可能となる。
 (ステップS109)
 また、key_B:A_access_pointを復号したら、ユーザ端末10bの認証処理部133は、復号されたアクセスポイント情報A_access_pointに基づき、ユーザ端末10aに接続する。これにより、ユーザ端末10aとユーザ端末10bとの間で相互接続が確立する。
 以上のように、本実施形態に係る無線通信システムによれば、例えばユーザ端末10aが他のユーザ端末10bから接続要求を受けた場合に、ユーザ端末10a及び10bがネットワークサービスn0上で関連付けられているかを確認する。そして、ユーザ端末10a及び10bがネットワークサービスn0上で関連付けられている場合には、ユーザ端末10aは、ネットワークサービスn0を介してユーザ端末10bに対応する暗号鍵key_Bを取得し、ユーザ端末10bとの間で暗号化通信を行う。即ち、本実施形態に係る無線通信システムに依れば、異なるユーザ端末10a及び10b間で相互接続を確立する場合に、簡便かつ安全に通信時のセキュリティを確保することが可能となる。これにより、各ユーザ端末10のユーザは、複雑な操作を実行することなく、自身の操作するユーザ端末10をアドホックネットワークに参加させることが可能となる。
 [1.5.通信シーケンス(識別情報を暗号化する方法)]
 次に、図15を参照しながら、本実施形態に係る無線通信システムにおいて、識別情報の暗号化を行う場合の通信シーケンスについて説明する。図15は、本実施形態に係る無線通信システムにおける通信処理シーケンスの一例を示したシーケンス図であり、識別情報の暗号化を行う場合の一連のシーケンスについて示している。なお、図15に示す例は、ユーザ端末10bがユーザ端末10aに対して接続要求を出す場合について示している。なお、以降では、「1.4.通信シーケンス(識別情報を暗号化しない方法)」で説明した内容と異なる部分に着目して説明し、同様の部分については説明を省略するものとする。
 (ステップS201)
 まず、ユーザ端末10bの識別情報通知部136は、識別情報記憶部135に持ち主情報d10として記憶された、ユーザ端末10bを特定するための識別情報のうち、暗号鍵key_Sで暗号化された識別情報をユーザ端末10aに配布する。暗号鍵key_Sは、ネットワークサービスn0上で管理された当該ネットワークサービスn0固有の暗号鍵である。図15に示す例では、識別情報通知部136は、暗号鍵key_Sで暗号化された、ネットワークサービスn0上におけるユーザubのユーザID「B_account」と、ユーザ端末10bのデバイスID「B_dev_id」とを識別情報として配布している。なお、以降では、暗号鍵key_Sで暗号化されたユーザID「B_account」を、「key_S:B_account」と記載する場合がある。同様に、暗号鍵key_Sで暗号化されたデバイスID「B_dev_id」を、「key_S:B_dev_id」と記載する場合がある。即ち、図15では、ユーザ端末10bの識別情報通知部136は、暗号化されたユーザID「key_S:B_account」と、暗号化されたデバイスID「key_S:B_dev_id」とをユーザ端末10aに配布している。
 なお、このときユーザ端末10bの識別情報通知部136は、ID種別d110を、あわせてユーザ端末10aに通知してもよい。ID種別d110を受信したユーザ端末10aは、当該ID種別に基づき、ユーザID「key_S:B_account」がどのネットワークサービスn0のユーザIDかや、互いを認証する方法としてどの方法を許可しているかを認識できる。なお、ここでは、ID種別d120は、互いを認証する方法として「識別情報を暗号化する方法」が設定されているものとして説明する。即ち、このID種別d120により、ユーザ端末10aは、ユーザID「key_S:B_account」が、サービス固有の暗号鍵key_Sで暗号化されていることを認識することができる。
 (ステップS211)
 ユーザ端末10aの識別情報取得部141は、サービス固有の暗号鍵key_Sで暗号化されたユーザ端末10bを特定するための識別情報をユーザ端末10bから取得する。このとき、ユーザ端末10aは、ネットワークサービスn0上で自身を特定するための識別情報をユーザ端末10bに返送する。この場合には、ユーザ端末10aが「識別情報を送信する側のユーザ端末10」として動作する。以下に、ステップS211の処理として、この場合のユーザ端末10aの動作について説明する。
 サービス固有の暗号鍵key_Sで暗号化された識別情報を取得したら、ユーザ端末10aの識別情報通知部136は、自身を特定するための識別情報を識別情報記憶部135から抽出する。このとき、識別情報通知部136は、あわせてユーザ端末10bから通知されたID種別d110と同じ種別に対応する持ち主情報d10から識別情報を取得する。この場合には、ユーザ端末10bが識別情報の暗号化に用いたサービス固有の暗号鍵key_Sで暗号化された識別情報が抽出される。なお、ユーザ端末10bから通知されたID種別d110と同じ種別に対応する持ち主情報d10が識別情報記憶部135に記憶されていない場合(即ち、そのID種別d110を許可していない場合)には、識別情報通知部136は、ユーザ端末10bに対して応答を行わなくてもよい。また、このとき識別情報通知部136は、ユーザ端末10bに応答を行えない旨を通知してもよい。
 識別情報記憶部135から自身の識別情報を抽出したら、ユーザ端末10aの識別情報通知部136は、抽出した識別情報(即ち、暗号鍵key_Sで暗号化された識別情報)をユーザ端末10bに返送する。図15に示す例では、識別情報通知部136は、暗号鍵key_Sで暗号化された、ネットワークサービスn0上でユーザuaを特定するためのユーザID「A_account」と、自信のデバイスID「A_dev_id」とを、識別情報として返送している。なお、以降では、暗号鍵key_Sで暗号化されたユーザID「A_account」を、「key_S:A_account」と記載する場合がある。同様に、暗号鍵key_Sで暗号化されたデバイスID「A_dev_id」を、「key_S:A_dev_id」と記載する場合がある。即ち、図15では、ユーザ端末10aの識別情報通知部136は、暗号化されたユーザID「key_S:A_account」と、暗号化されたデバイスID「key_S:A_dev_id」とをユーザ端末10bに配布している。なお、このときユーザ端末10aの識別情報通知部136は、ユーザID「A_account」がどのネットワークサービスn0のユーザIDを示したID種別d110を、あわせてユーザ端末10bに通知してもよい。
 (ステップS221)
 また、ユーザ端末10aの識別情報取得部141は、取得したユーザ端末10bを特定するための暗号化された識別情報(即ち、ユーザID「key_S:B_account」及びデバイスID「key_S:B_dev_id」)をネットワークサービスn0に送信する。なお、以降では、ユーザ端末10a、ユーザ端末10b、及びネットワークサービスn0の間では、図13に示す通信データd30aに基づき、情報がユニキャストされるものとする。
 (ステップS222)
 ネットワークサービスn0(換言すると、ネットワークサービスn0を提供するサーバ50)は、ユーザ端末10aから、サービス固有の暗号鍵key_Sで暗号化された、ユーザ端末10bを特定するための識別情報(即ち、ユーザID「key_S:B_account」及びデバイスID「key_S:B_dev_id」)を取得する。ネットワークサービスn0は、暗号鍵key_Sで暗号化された識別情報を自身の復号鍵で復号する。これにより、ネットワークサービスn0は、ユーザID「B_account」及びデバイスID「B_dev_id」を取得する。
 ネットワークサービスn0は、取得した識別情報に基づきソーシャルグラフを探索し、ユーザ端末10aとユーザ端末10bとが関連付けられているかを確認する。図15に示す例では、ネットワークサービスn0は、ユーザID「A_account」及びデバイスID「A_dev_id」がソーシャルグラフを介してユーザID「B_account」及びデバイスID「B_dev_id」に関連付けられているかを確認する。なお、ネットワークサービスn0は、ソーシャルグラフの探索結果、即ち、ユーザ端末10aとユーザ端末10bとが関連付けられているかの確認結果を、ユーザ端末10aの識別情報取得部141に通知してもよい。また、ネットワークサービスn0上でソーシャルグラフを探索する処理は、ユーザ端末10aが実行してもよい。その場合には、ネットワークサービスn0は、ソーシャルグラフの探索に係る処理を実行するためのデータやプログラムをユーザ端末10aに提供すればよい。
 ユーザ端末10aとユーザ端末10bとが関連付けられている場合には、ネットワークサービスn0は、ユーザ端末10bに関連付けられた暗号鍵key_Bを、ソーシャルグラフを介して取得する。
 (ステップS223)
 暗号鍵key_Bを取得できたら、ネットワークサービスn0は、取得した暗号鍵key_Bを、ユーザ端末10aに関連付けられてネットワークサービスn0上で管理された暗号鍵key_Aで暗号化する。以降では、暗号鍵key_Aで暗号化された暗号鍵key_Bを「key_A:key_B」と記載する場合がある。ネットワークサービスn0は、暗号鍵key_Aで暗号化された暗号鍵「key_A:key_B」を、ユーザ端末10aの鍵取得部142に返送する。
 なお、暗号鍵key_Bの取得に失敗したら、ネットワークサービスn0は、暗号鍵key_Bの取得に失敗した旨をユーザ端末10aに通知してもよい。このネットワークサービスn0からの通知を受けることで、ユーザ端末10aは、ネットワークサービスn0上で、自身がユーザ端末10bと関連付けられていないことを認識することができる。この場合には、ユーザ端末10aは、ユーザ端末10bを信頼できる相手とはみなさず、通信を確立せずに一連の処理を終了すればよい。
 暗号化された暗号鍵「key_A:key_B」を取得したら、ユーザ端末10aの鍵取得部142は、取得した当該暗号鍵「key_A:key_B」を、鍵情報記憶部143に記憶されたユーザ端末10aに対応する復号鍵で復号する。これにより、ユーザ端末10aの鍵取得部142は、暗号鍵key_Bを取得する。暗号鍵key_Bを取得したら、ユーザ端末10aの鍵取得部142は、暗号鍵key_Bと、ユーザ端末10bから取得したユーザID、デバイスID、及びID種別d110とを関連付けてユーザ端末10aの認証処理部144に出力する。
 (ステップS231)
 ユーザ端末10aと同様に、ユーザ端末10bは、ユーザ端末10aを特定するための暗号化された識別情報をユーザ端末10aから取得する。この場合には、ユーザ端末10bが「識別情報を受信する側のユーザ端末10」として動作する(図7参照)。具体的には、ユーザ端末10bの識別情報取得部141は、ユーザ端末10aを特定するための暗号化された識別情報をユーザ端末10aから取得する。ユーザ端末10bの識別情報取得部141は、取得したユーザ端末10aを特定するための暗号化された識別情報(即ち、ユーザID「key_S:A_account」及びデバイスID「key_S:A_dev_id」)をネットワークサービスn0に送信する。
 (ステップS232)
 ネットワークサービスn0(換言すると、ネットワークサービスn0を提供するサーバ50)は、ユーザ端末10bから、サービス固有の暗号鍵key_Sで暗号化された、ユーザ端末10aを特定するための識別情報を取得する。ネットワークサービスn0は、暗号鍵key_Sで暗号化された識別情報を自身の復号鍵で復号する。これにより、ネットワークサービスn0は、ユーザID「A_account」及びデバイスID「A_dev_id」を取得する。
 ネットワークサービスn0は、取得した識別情報に基づきソーシャルグラフを探索し、ユーザ端末10aとユーザ端末10bとが関連付けられているかを確認する。図15に示す例では、ネットワークサービスn0は、ユーザID「A_account」及びデバイスID「A_dev_id」がソーシャルグラフを介してユーザID「B_account」及びデバイスID「B_dev_id」に関連付けられているかを確認する。
 ユーザ端末10aとユーザ端末10bとが関連付けられている場合には、ネットワークサービスn0は、ユーザ端末10aに関連付けられた暗号鍵key_Aを、ソーシャルグラフを介して取得する。
 (ステップS233)
 暗号鍵key_Aを取得できたら、ネットワークサービスn0は、取得した暗号鍵key_Aを、ユーザ端末10bに関連付けられてネットワークサービスn0上で管理された暗号鍵key_Bで暗号化する。以降では、暗号鍵key_Bで暗号化された暗号鍵key_Aを「key_B:key_A」と記載する場合がある。ネットワークサービスn0は、暗号鍵key_Bで暗号化された暗号鍵「key_B:key_A」を、ユーザ端末10bの鍵取得部142に返送する。
 なお、暗号鍵key_Aの取得に失敗したら、ネットワークサービスn0は、暗号鍵key_Aの取得に失敗した旨をユーザ端末10bに通知してもよい。このネットワークサービスn0からの通知を受けることで、ユーザ端末10bは、ネットワークサービスn0上で、自身がユーザ端末10aと関連付けられていないことを認識することができる。この場合には、ユーザ端末10bは、ユーザ端末10aを信頼できる相手とはみなさず、通信を確立せずに一連の処理を終了すればよい。
 暗号化された暗号鍵「key_B:key_A」を取得したら、ユーザ端末10bの鍵取得部142は、取得した当該暗号鍵「key_B:key_A」を、鍵情報記憶部143に記憶されたユーザ端末10bに対応する復号鍵で復号する。これにより、ユーザ端末10bの鍵取得部142は、暗号鍵key_Aを取得する。暗号鍵key_Aを取得したら、ユーザ端末10bの鍵取得部142は、暗号鍵key_Aと、ユーザ端末10aから取得したユーザID、デバイスID、及びID種別d110とを関連付けてユーザ端末10bの認証処理部144に出力する。
 なお、以降の処理は、前述した「1.4.通信シーケンス(識別情報を暗号化しない方法)」と同様である。そのため、詳細な説明は省略する。
 以上のように、「識別情報を暗号化する方法」に基づき互いを認証することで、ユーザ端末10a及び10bは、互いの識別情報を暗号化して送受信することが可能となる。これにより、ユーザ端末10a及び10bは、「識別情報を暗号化する方法」に比べて、より安全に互いを認証することが可能となる。
 [1.6.通信シーケンス(相手の鍵を利用する方法)]
 次に、図16を参照しながら、本実施形態に係る無線通信システムにおいて、ユーザ端末10a及び10bのそれぞれが、相手の暗号鍵(公開鍵)を既に取得しており、相手の暗号鍵を利用して互いを認証する場合の通信シーケンスについて説明する。図16は、本実施形態に係る無線通信システムにおける通信処理シーケンスの一例を示したシーケンス図であり、通信相手の公開鍵を既に取得している場合の一連のシーケンスについて示している。なお、以降では、ユーザ端末10bが、ユーザ端末10aがブロードキャストしたビーコンb10を受信したものとして説明する。
 (ステップS301)
 ユーザ端末10bは、ユーザ端末10aがブロードキャストしたビーコンb10を受信する。このとき、ユーザ端末10bは、識別情報を受信する側のユーザ端末10として動作する(図5参照)。即ち、ユーザ端末10bの識別情報取得部141は、ユーザ端末10aを特定するための識別情報をユーザ端末10aから取得する。このとき、ユーザ端末10bの識別情報取得部141は、ID種別d110を示す情報をあわせて取得する。
 具体的な一例として、ユーザ端末10bの識別情報取得部141は、ビーコンb10として、ユーザ端末10aから通信データd20を取得する。ユーザ端末10bの識別情報取得部141は、取得した通信データd20から持ち主情報d250に格納された各持ち主情報フィールドd253を抽出する。ユーザ端末10bの識別情報取得部141は、抽出された各持ち主情報フィールドd253のID種別領域d254に格納されたID種別d110を参照し、ユーザ端末10aが、互いを認証する方法として「相手の鍵を利用する方法」を許可しているか否かを確認する。具体的には、ユーザ端末10bの識別情報取得部141は、ID種別d110が「内部レコード探索用暗号化アカウント」の持ち主情報d10が含まれている場合に、ユーザ端末10aが、「相手の鍵を利用する方法」を許可しているものとして認識する。
 ユーザ端末10aが「相手の鍵を利用する方法」を許可している場合には、ユーザ端末10bの識別情報取得部141は、ビーコンb10の持ち主情報d250から、該当するID種別d110が設定された持ち主情報フィールドd253を抽出する。そして、識別情報取得部141は、抽出した持ち主情報フィールドd253から、ユーザID領域d255に設定されたユーザIDを抽出する。識別情報取得部141は、抽出したユーザIDがサービス固有の暗号鍵key_Sで暗号化されている場合には、ID種別d110で示されたネットワークサービスn0にアクセスし、ユーザIDを復号させる。これにより、ユーザ端末10bの識別情報取得部141は、ユーザ端末10aの識別情報(例えば、ユーザIDやデバイスID)を認識することが可能となる。
 次に、ユーザ端末10bは、識別情報を送信する側のユーザ端末10として動作する。即ち、ユーザ端末10bの識別情報通知部136は、ユーザID、デバイスID、及びID種別d110を識別情報取得部141から取得する。識別情報通知部136は、取得したユーザID、デバイスID、及びID種別d110に関連付けられた暗号鍵を、鍵情報記憶部132から抽出する。なお、ここで説明したユーザ端末10bの鍵情報記憶部132は、「識別情報を受信する側のユーザ端末10」として動作する場合の「鍵情報記憶部143」に対応する。そのため、以降では、ユーザ端末10bが「識別情報を受信する側のユーザ端末10」として動作した際に「鍵情報記憶部143」に記憶された情報は、同様に、鍵情報記憶部132に記憶されているものとして説明する。
 ユーザ端末10aとの間で既に暗号鍵の交換が行われている場合には、識別情報通知部136は、ユーザ端末10aに対応する暗号鍵key_Aを抽出する。なお、暗号鍵を抽出できなった場合には、識別情報通知部136は、上述した、「識別情報を暗号化しない方法」及び「識別情報を暗号化する方法」のうちのいずれかにより、ユーザ端末10aとの間で互いを認証してもよい。以降では、識別情報通知部136は、暗号鍵key_Aを抽出したものとして説明する。
 暗号鍵key_Aを抽出したら、ユーザ端末10bの識別情報通知部136は、抽出した暗号鍵key_Aに対応するネットワークサービスn0のユーザIDを、識別情報記憶部135に記憶された持ち主情報d10から抽出する。具体的には、識別情報通知部136は、各持ち主情報d10のID種別d110を参照し、暗号鍵key_Aに対応するネットワークサービスn0に対応する持ち主情報d10を特定する。識別情報通知部136は、特定した持ち主情報d10の持ち主IDd120からユーザIDを抽出すればよい。
 ユーザ端末10bの識別情報通知部136は、ユーザ端末10bを特定するための識別情報を、暗号鍵key_Aで暗号化する。図16に示す例では、ユーザ端末10bの識別情報通知部136は、ユーザubのネットワークサービスn0におけるユーザID「B_acccount」と、ユーザ端末10bを特定するためのデバイスID「B_dev_id」とを暗号鍵key_Aで暗号化している。なお、以降では、暗号鍵key_Aで暗号化されたユーザID「B_acccount」を、「key_A:B_account」と記載する場合がある。同様に、暗号鍵key_Aで暗号化されたデバイスID「B_dev_id」を、「key_A:B_dev_id」と記載する場合がある。
 ユーザ端末10bの識別情報通知部136は、暗号鍵key_Aで暗号化されたユーザ端末10bを特定するための識別情報をユーザ端末10aに送信する。このとき、識別情報通知部136は、送信する識別情報が、「内部レコード探索用暗号化アカウント」であることを示すID種別d110を、あわせてユーザ端末10aに送信してもよい。このID種別d110により、ユーザ端末10aは、受信した識別情報が、どのネットワークサービスn0に対応しているかや、自身の暗号鍵key_Aで暗号化されていることを認識することができる。なお、以降では、識別情報通知部136は、ID種別d110をユーザ端末10aに送信するものとして説明する。また、以降では、ユーザ端末10bの識別情報通知部136は、暗号化されたユーザID「key_A:B_acccount」及び暗号化されたデバイスID「key_A:B_dev_id」を、ユーザ端末10aに送信するものとして説明する。また、以降では、ユーザ端末10a及び10bの間では、図13に示す通信データd30aに基づき、情報をユニキャストするものとする。
 (ステップS311)
 ユーザ端末10aの識別情報取得部141は、ユーザ端末10bから、ユーザ端末10bを特定するための識別情報として、暗号鍵key_Aで暗号化されたユーザID「B_acccount」及びデバイスID「B_dev_id」を取得する。
 識別情報取得部141は、ユーザ端末10bから取得したID種別d110に基づき、取得した識別情報が「内部レコード探索用暗号化アカウント」を示しているか否かを判別する。ここでは、取得したID種別d110は、「内部レコード探索用暗号化アカウント」を示しているものとして説明する。ユーザ端末10aの識別情報取得部141は、鍵情報記憶部143に記憶されたユーザ端末10aに対応する復号鍵で、暗号化されたユーザID「key_A:B_acccount」及び暗号化されたデバイスID「key_A:B_dev_id」を復号する。これにより、識別情報取得部141は、復号されたユーザID「B_acccount」及びデバイスID「B_dev_id」を取得する。
 (ステップS312)
 識別情報取得部141は、ID種別d110が示すネットワークサービスn0の種別と、復号されたユーザID「B_acccount」及びデバイスID「B_dev_id」とに関連付けられた暗号鍵を鍵情報記憶部143から抽出する。この場合には、ユーザ端末10bに対応する暗号鍵key_Bが抽出される。
 (ステップS112)
 ユーザ端末10aの認証処理部144は、抽出したユーザ端末10bに対応する暗号鍵key_Bに基づきデータを暗号化して、取得したユーザID及びデバイスIDにより特定されるユーザ端末10bとの間で、互いを認証する処理を実行する。なお、以降の処理は、前述した、「1.4.通信シーケンス(識別情報を暗号化しない方法)」や「1.5.通信シーケンス(識別情報を暗号化する方法)」と同様である。そのため、詳細な説明は省略する。
 以上のように、「相手の鍵を利用する方法」に基づき互いを認証する場合には、ユーザ端末10a及び10bは、ユーザ端末10a及び10bが関連付けられているかをネットワークサービスn0を介して確認する必要がなくなる。そのため、「識別情報を暗号化しない方法」及び「識別情報を暗号化する方法」に比べて、ユーザ端末10a及び10bがネットワークサービスn0にアクセスする回数を制限することが可能となる。これにより、ユーザ端末10a及び10bは、互いを認証する際の、ネットワークサービスn0のような外部ネットワークへのアクセスに伴う負荷を軽減することが可能となる。
 なお、上記に示す例では、ユーザ端末10bは、持ち主情報d250内に、ID種別d110が、「内部レコード探索用暗号化アカウント」であることを示す情報が含まれているか否かに応じて、「相手の鍵を利用する方法」が利用可能か否かを判断していた。一方で、ユーザ端末10bは、ユーザ端末10aとの間で既に互いの暗号鍵を交換している場合には、自動で「相手の鍵を利用する方法」を選択するように動作してもよい。その場合には、ユーザ端末10bは、ID種別d110が「アカウント」か「暗号化アカウント」の持ち主情報d10に基づき、ユーザ端末10aの識別情報を特定する。そして、ユーザ端末10bは、特定した識別情報に関連付けられた暗号鍵を既に取得している場合には、「相手の鍵を利用する方法」を選択するように動作すればよい。なお、この場合には、必ずしもID種別d110に「内部レコード探索用暗号化アカウント」を示す情報が設定されている必要はない。
 [1.7.まとめ]
 以上のように、本実施形態に係る無線通信システムに依れば、例えばユーザ端末10aが他のユーザ端末10bから接続要求を受けた場合に、ユーザ端末10a及び10bがネットワークサービスn0上で関連付けられているかを確認する。そして、ユーザ端末10a及び10bがネットワークサービスn0上で関連付けられている場合には、ユーザ端末10aは、ネットワークサービスn0を介してユーザ端末10bに対応する暗号鍵key_Bを取得し、ユーザ端末10bとの間で暗号化通信を行う。即ち、本実施形態に係る無線通信システムに依れば、異なるユーザ端末10a及び10b間で相互接続を確立する場合に、簡便かつ安全に通信時のセキュリティを確保することが可能となる。これにより、各ユーザ端末10のユーザは、複雑な操作を実行することなく、自身の操作するユーザ端末10をアドホックネットワークに参加させることが可能となる。
 なお、上記に示す例では、ユーザIDとデバイスIDとを組み合わせることで、ネットワークサービスn0上でユーザ端末10を一意に特定する例について説明した。しかしながら、ネットワークサービスn0上でユーザ端末10を一意に特定できれば上記に示す例には限定されない。例えば、各ユーザが使用するユーザ端末10ごとに暗号鍵を使い分けない場合には、ネットワークサービスn0上においてユーザ間の関連付けのみで、接続先のユーザ端末10を特定して暗号鍵を取得してもよい。
 また、ネットワークサービスn0のソーシャルグラフによる関連付けはユーザ間のみに限られない。例えば、各ユーザが所有するユーザ端末10を直接関連付けてもよい。例えば、図17は、ネットワークサービスn0上におけるユーザ端末10間の関連付けの他の一例を示した図であり、ユーザ端末10間を直接関連付ける場合の例について説明している。
 図17に示す例では、ユーザuaの所持するユーザ端末10a3と、ユーザubの所持するユーザ端末10b3とが、直接関連付けられている(関係c12)。このような構成の場合には、各ユーザ端末10間を関連付けるソーシャルグラフに基づき、接続先のユーザ端末10を特定できるため、必ずしも、ユーザuaとユーザubとが関連付けられている必要はない。
 また、他の一例として、ユーザIDを使用することなく、ユーザ端末10を直接ネットワークサービスn0に登録できるようにしてもよい。例えば、図18は、ネットワークサービスn0上におけるユーザ端末10間の関連付けの他の一例を示した図であり、ネットワークサービスn0にユーザ端末10を直接登録する場合の一例について示している。
 図18に示す例では、ネットワークサービスn0上にユーザ端末10a~10fが登録されており、ユーザ端末10aとユーザ端末10dとが、直接関連付けられている(関係c13)。このような構成の場合においても、各ユーザ端末10間を関連付けるソーシャルグラフに基づき、接続先のユーザ端末10を特定できる。
 なお、上記に示した例はあくまで一例であり、ネットワークサービスn0上のソーシャルグラフを介して、接続先のユーザ端末10を特定して暗号鍵を取得できれば、関連付ける情報の種別や関連付けの方法は限定されない。
 <2.第2の実施形態>
 [2.1.無線通信システムの概略]
 第1の実施形態に係る無線通信システムでは、ユーザ端末10a及び10bの双方それぞれが、ネットワークサービスn0から相手の暗号鍵を取得して、互いを認証する場合の例について説明した。第2の実施形態では、ユーザ端末10a及び10bのうち一方がネットワークサービスn0から相手の暗号鍵key_Bを取得すればよい点で第1の実施形態と異なる。
 具体的には、第2の実施形態では、例えば、ユーザ端末10aがネットワークサービスn0から相手の暗号鍵key_Bを取得し、取得した暗号鍵key_Bで自身の暗号鍵key_Aを暗号化して相手に送信する。また、ユーザ端末10bは、ユーザ端末10aから暗号化された暗号鍵key_Aを取得し、取得した暗号化済みの暗号鍵key_Aを自身の復号鍵で復号することで、暗号鍵key_Aを取得する。これにより、ユーザ端末10bのみがネットワークサービスn0にアクセスすればよくなるため、第1の実施形態に係る無線通信システムに比べて、ユーザ端末10a及び10bの間の通信シーケンスを効率化することが可能となる。以降では、本実施形態に係る無線通信システムの詳細について説明する。
 まず、図19を参照しながら、本実施形態に係る無線通信システムにおいて特定の相手と情報を送受信する(ユニキャストする)場合に用いる通信データd30bについて説明する。図19は、本実施形態に係る無線通信システムにおいて情報を送受信するための通信データd30bのデータ構造の一例を示した図である。
 図19に示すように、本実施形態に係る通信データd30bは、NONCEd340を含まない点で、第1の実施形態に係る通信データd30a(図13参照)と異なる。本実施形態に係る無線通信システムでは、例えば、ユーザ端末10aは、NONCEに替えて、自身に対応する暗号鍵key_Aを、接続先であるユーザ端末10bの暗号鍵key_Bで暗号化して他のユーザ端末10bに送信する。この暗号鍵key_Bで暗号化された暗号鍵key_Aは、ユーザ端末10bのみが自身に対応する復号鍵で復号できる。そのため、ユーザ端末10aは、暗号鍵key_Bで暗号化された情報を復号できるユーザ端末10bに対してのみ、自身に対応する暗号鍵key_Aを安全に送付することが可能となる。なお、詳細については後述する。
 また、その他の情報については、第1の実施形態に係る通信データd30aと同様のため詳細な説明は省略する。
 [2.2.通信シーケンス(識別情報を暗号化しない方法)]
 次に、本実施形態に係る無線通信システムの通信シーケンスについて説明する。まず、図20を参照しながら、本実施形態に係る通信システムにおいて、識別情報の暗号化を行わない場合の通信シーケンスについて説明する。図20は、本実施形態に係る無線通信システムにおける通信処理シーケンスの一例を示したシーケンス図であり、識別情報の暗号化を行わない場合の一連のシーケンスについて示している。なお、図20に示す例は、ユーザ端末10bがユーザ端末10aに対して接続要求を出す場合について示している。
 (ステップS401)
 まず、ユーザ端末10bの識別情報通知部136は、ネットワークサービスn0上でユーザ端末10bを特定するための識別情報をユーザ端末10aに配布する。図20に示す例では、識別情報通知部136は、識別情報として、ネットワークサービスn0上におけるユーザubのユーザID「B_account」と、ユーザ端末10bのデバイスID「B_dev_id」をユーザ端末10aに配布している。
 なお、このときユーザ端末10bの識別情報通知部136は、ID種別d110を、あわせてユーザ端末10aに通知してもよい。これにより、ID種別d110を受信したユーザ端末10aは、当該ID種別に基づき、ユーザID「B_account」がどのネットワークサービスn0のユーザIDかや、互いを認証する方法としてどの方法を許可しているかを認識できる。
 なお、本項では、ID種別d120は、互いを認証する方法として「識別情報を暗号化しない方法」が設定されているものとして説明する。互いを認証する方法として「識別情報を暗号化する方法」及び「相手の鍵を利用する方法」が設定されている場合については、「2.3.通信シーケンス(識別情報を暗号化する方法)」及び「2.4.通信シーケンス(相手の鍵を利用する方法)」にてそれぞれ説明する。
 また、ユーザ端末10bの識別情報通知部136は、ユーザ端末10bを特定するための識別情報をブロードキャストすることでユーザ端末10aに配布してもよい。この場合には、ユーザ端末10bの識別情報通知部136は、例えば、パッシブスキャン時のビーコンb10(図9参照)として、ユーザ端末10bを特定するための識別情報をユーザ端末10aに配布(ブロードキャスト)してもよい。また、ユーザ端末10bの識別情報通知部136は、当該識別情報をユーザ端末10aに向けてユニキャストしてもよい。この場合には、ユーザ端末10bの識別情報通知部136は、ユーザ端末10aからの要求メッセージb20に対する応答メッセージb30として、ユーザ端末10bを特定するための識別情報をユーザ端末10aに配布(ユニキャスト)してもよい。
 (ステップS411)
 ユーザ端末10bの識別情報通知部136が、ユーザ端末10aに対してユーザ端末10bを特定するための識別情報をユニキャストした場合には、ユーザ端末10aは、ユーザ端末10bから取得した情報が自分宛か否かを判別してもよい。この場合には、ユーザ端末10aは、例えば、通信データd30b(図19参照)の受信者情報d330に自身の情報(即ち、ユーザuaのユーザIDや、ユーザ端末10aのデバイスID)が設定されているか否かにより、自分宛か否かを判別してもよい。なお、ユーザ端末10aは、ユーザ端末10bから取得した情報が自分宛ではなかった場合には、ユーザ端末10bに拒否通知を送信し、通信シーケンスを直ちに終了させてもよい。
 (ステップS121~S123)
 なお、本実施形態に係るステップS121~S123に係る処理は、前述した第1の実施形態に係る無線通信システムのステップS121~S123(図14参照)と同様である。即ち、ユーザ端末10aの識別情報取得部141は、取得したユーザ端末10bを特定するための識別情報をネットワークサービスn0に送信する。その応答として、ユーザ端末10aの鍵情報取得部141は、ユーザ端末10bに対応する暗号鍵key_Bを取得する。鍵情報取得部141は、取得した暗号鍵key_Bを、識別情報取得部141が取得したユーザID、デバイスID、及びID種別d110と関連付けてユーザ端末10aの認証処理部144の認証処理部に出力する。なお、以降では、ユーザ端末10a、ユーザ端末10b、及びネットワークサービスn0の間では、図19に示す通信データd30bに基づき、情報がユニキャストされるものとする。
 (ステップS412)
 なお、暗号鍵key_Bの取得に失敗したら、ネットワークサービスn0は、暗号鍵key_Bの取得に失敗した旨をユーザ端末10aに通知してもよい。このネットワークサービスn0からの通知を受けることで、ユーザ端末10aは、ネットワークサービスn0上で、自身がユーザ端末10bと関連付けられていないことを認識することができる。この場合には、ユーザ端末10aは、ユーザ端末10bを信頼できる相手とはみなさず、通信を確立せずに一連の処理を終了すればよい。
 また、ユーザ端末10bは、所定の時間内にネットワークサービスn0からの応答がなかった場合(即ち、所定の時間内に暗号鍵key_Bが取得できなかった場合)についても同様に、暗号鍵key_Bの取得に失敗した旨をユーザ端末10aに通知してもよい。
 (ステップS413)
 暗号鍵key_Bが取得できたら、ユーザ端末10aの認証処理部144は、取得した暗号鍵key_Bが鍵情報記憶部143に記憶されているかを確認する。当該暗号鍵key_Bが鍵情報記憶部143に記憶されていない場合には、ユーザ端末10aの認証処理部144は、ユーザID、デバイスID、及びID種別d110が関連付けられた当該暗号鍵key_Bを鍵情報記憶部143に記憶させる。このように、鍵情報記憶部143に暗号鍵key_Bを記憶させることで、ユーザ端末10aの認証処理部144は、以降にユーザ端末10bと通信を行う場合に、暗号鍵key_Bを、ネットワークサービスn0経由で改めて取得する必要がなくなる。即ち、ユーザ端末10aの認証処理部144は、以降は、ユーザ端末10bとの間で互いを認証する方法として、「相手の鍵を利用する方法」を利用することが可能となる。
 (ステップS414)
 また、ユーザ端末10aの認証処理部144は、鍵情報記憶部143に記憶されたユーザ端末10aに対応する暗号鍵key_Aを抽出する。
 ユーザ端末10aの認証処理部144は、ユーザ端末10aとの相互接続を確立するための情報を、暗号鍵key_Bで暗号化する。ユーザ端末10aとの相互接続を確立するための情報としては、例えば、アクセスポイントの情報が挙げられる。以降では、ユーザ端末10aとの相互接続を確立するための情報を「A_access_point」と記載する場合がある。なお、以降では、暗号鍵key_Bで暗号化されたA_access_pointを「key_B:A_access_point」と記載する場合がある。
 ユーザ端末10aの認証処理部144は、ユーザ端末10aを特定するための識別情報と、暗号鍵key_Aと、暗号鍵key_Bで暗号化されたkey_B:A_access_pointをユーザ端末10bに送信する。なお、図20に示す例では、認証処理部144は、識別情報として、ネットワークサービスn0上におけるユーザuaのユーザID「A_account」と、ユーザ端末10aのデバイスID「A_dev_id」を用いている。なお、以降では、認証処理部144は、識別情報として、ユーザID「A_account」と、デバイスID「A_dev_id」とをユーザ端末10bに送信するものとして説明する。
 また、このとき、ユーザ端末10aは、ネットワークサービスn0の種別を特定するための情報として、ID種別d110をユーザ端末10bに送信してもよい。なお、以降では、ユーザ端末10aの認証処理部144は、ID種別d110をユーザ端末10bに送信するものとして説明する。
 (ステップS402)
 ユーザ端末10bの認証処理部133は、A_account、A_dev_id、及び、key_Aと、暗号鍵key_Bで暗号化されたkey_B:A_access_pointとをユーザ端末10aから取得する。また、このときユーザ端末10bの認証処理部133は、ユーザ端末10aからID種別d110を取得してもよい。ID種別d110を取得することで、認証処理部133は、ユーザID「A_account」が、どのネットワークサービスn0に対応しているかを認識することができる。
 ユーザ端末10bの認証処理部133は、鍵情報記憶部132に記憶された自身に対応する復号鍵で、key_B:A_access_pointを復号する。これにより、認証処理部133は、復号されたアクセスポイント情報A_access_pointを取得する。
 なお、ユーザ端末10b以外の他のユーザ端末10は、暗号鍵key_Bで暗号化されたデータを復号できない。そのため、アクセスポイント情報A_access_pointは、ユーザ端末10b以外の他のユーザ端末10には取得されないこととなる。
 (ステップS403)
 ユーザ端末10bの認証処理部133は、取得した暗号鍵key_Aが鍵情報記憶部132に記憶されているかを確認する。なお、ここで説明したユーザ端末10bの鍵情報記憶部132は、「識別情報を受信する側のユーザ端末10」として動作する場合の「鍵情報記憶部143」に対応する。そのため、以降では、ユーザ端末10bが「識別情報を受信する側のユーザ端末10」として動作した際に「鍵情報記憶部143」に記憶された情報は、同様に、鍵情報記憶部132に記憶されているものとして説明する。
 当該暗号鍵key_Aが鍵情報記憶部132に記憶されていない場合には、ユーザ端末10bの認証処理部133は、取得したユーザID「A_account」及びデバイスID「A_dev_id」と、ID種別d110とを当該暗号鍵key_Aに関連付ける。認証処理部133は、ユーザID「A_account」及びデバイスID「A_dev_id」と、ID種別d110とが関連付けられた当該暗号鍵key_Aを鍵情報記憶部132に記憶させる。
 (ステップS409)
 また、key_B:A_access_pointを復号したら、ユーザ端末10bの認証処理部133は、復号されたアクセスポイント情報A_access_pointに基づき、ユーザ端末10aに接続する。これにより、ユーザ端末10aとユーザ端末10bとの間で相互接続が確立する。
 以上のように、本実施形態に係る無線通信システムに依れば、ユーザ端末10aのみがネットワークサービスn0にアクセスして暗号鍵key_Bを取得し、ユーザ端末10bは、ユーザ端末10aの暗号鍵key_Aをユーザ端末10aから取得することができる。即ち、ユーザ端末10bは、ネットワークサービスn0のような外部ネットワークにアクセスする必要がなくなるため、第1の実施形態に係る無線通信システムに比べて外部ネットワークへのアクセスに伴う負荷を軽減することが可能となる。また、ユーザ端末10aの暗号鍵key_Aは、ユーザ端末10bに対応する暗号鍵key_Bで暗号化されてユーザ端末10bに送信される。そのため、ユーザ端末10b以外の他のユーザ端末10は、暗号化された暗号鍵key_Aを取得しても、当該暗号鍵key_Aを復号することができないため、暗号鍵key_Aを安全にユーザ端末10bに送信することができる。
 [2.3.通信シーケンス(識別情報を暗号化する方法)]
 次に、図21を参照しながら、本実施形態に係る無線通信システムにおいて、識別情報の暗号化を行う場合の通信シーケンスについて説明する。図21は、本実施形態に係る無線通信システムにおける通信処理シーケンスの一例を示したシーケンス図であり、識別情報の暗号化を行う場合の一連のシーケンスについて示している。なお、図21に示す例は、ユーザ端末10bがユーザ端末10aに対して接続要求を出す場合について示している。なお、以降では、「2.2.通信シーケンス(識別情報を暗号化しない方法)」で説明した内容と異なる部分に着目して説明し、同様の部分については説明を省略する。
 (ステップS501)
 まず、ユーザ端末10bの識別情報通知部136は、識別情報記憶部135に持ち主情報d10として記憶された、ユーザ端末10bを特定するための識別情報のうち、暗号鍵key_Sで暗号化された識別情報をユーザ端末10aに配布する。暗号鍵key_Sは、ネットワークサービスn0上で管理された当該ネットワークサービスn0固有の暗号鍵である。図21に示す例では、識別情報通知部136は、暗号鍵key_Sで暗号化された、ネットワークサービスn0上におけるユーザubのユーザID「B_account」と、ユーザ端末10bのデバイスID「B_dev_id」とを識別情報として配布している。なお、以降では、暗号鍵key_Sで暗号化されたユーザID「B_account」を、「key_S:B_account」と記載する場合がある。同様に、暗号鍵key_Sで暗号化されたデバイスID「B_dev_id」を、「key_S:B_dev_id」と記載する場合がある。即ち、図21では、ユーザ端末10bの識別情報通知部136は、暗号化されたユーザID「key_S:B_account」と、暗号化されたデバイスID「key_S:B_dev_id」とをユーザ端末10aに配布している。
 なお、このときユーザ端末10bの識別情報通知部136は、ID種別d110を、あわせてユーザ端末10aに通知してもよい。ID種別d110を受信したユーザ端末10aは、当該ID種別に基づき、ユーザID「key_S:B_account」がどのネットワークサービスn0のユーザIDかや、互いを認証する方法としてどの方法を許可しているかを認識できる。なお、ここでは、ID種別d120は、互いを認証する方法として「識別情報を暗号化する方法」が設定されているものとして説明する。即ち、このID種別d120により、ユーザ端末10aは、ユーザID「key_S:B_account」が、サービス固有の暗号鍵key_Sで暗号化されていることを認識することができる。
 (ステップS511)
 ユーザ端末10bの識別情報通知部136が、ユーザ端末10aに対してユーザ端末10bを特定するための識別情報をユニキャストした場合には、ユーザ端末10aは、ユーザ端末10bから取得した情報が自分宛か否かを判別してもよい。この場合には、ユーザ端末10aは、例えば、通信データd30b(図19参照)の受信者情報d330に自身の情報(即ち、ユーザuaのユーザIDや、ユーザ端末10aのデバイスID)が設定されているか否かにより、自分宛か否かを判別してもよい。なお、受信者情報d330に格納された情報がサービス固有の暗号鍵key_Sで暗号化されている場合には、ユーザ端末10aは、ネットワークサービスn0にアクセスし、暗号鍵key_Sで暗号化された情報を復号してもよい。同様に、受信者情報d330に格納された情報がユーザ端末aに対応する暗号鍵key_Aで暗号化されている場合には、ユーザ端末10aは、ユーザ端末aに対応する復号鍵に基づき、暗号鍵key_Aで暗号化された情報を復号してもよい。また、ユーザ端末10aは、ユーザ端末10bから取得した情報が自分宛ではなかった場合には、ユーザ端末10bに拒否通知を送信し、通信シーケンスを直ちに終了させてもよい。
 (ステップS221~S223)
 なお、本実施形態に係るS221~S223に係る処理は、前述した第1の実施形態に係る無線通信システムのS221~S223(図15参照)と同様である。即ち、ユーザ端末10aの識別情報取得部141は、取得したユーザ端末10bを特定するための暗号化された識別情報(即ち、ユーザID「key_S:B_account」及びデバイスID「key_S:B_dev_id」)をネットワークサービスn0に送信する。その応答として、ユーザ端末10aの鍵情報取得部141は、ネットワークサービスn0から自身に対応する暗号鍵key_Aで暗号化された、ユーザ端末10bに対応する暗号鍵key_B(即ち、暗号鍵「key_A:key_B」)を取得する。
 暗号化された暗号鍵「key_A:key_B」を取得したら、ユーザ端末10aの鍵取得部142は、取得した当該暗号鍵「key_A:key_B」を、鍵情報記憶部143に記憶されたユーザ端末10aに対応する復号鍵で復号する。これにより、ユーザ端末10aの鍵取得部142は、暗号鍵key_Bを取得する。暗号鍵key_Bを取得したら、ユーザ端末10aの鍵取得部142は、暗号鍵key_Bと、ユーザ端末10bから取得したユーザID、デバイスID、及びID種別d110とを関連付けてユーザ端末10aの認証処理部144に出力する。
 (ステップS412)
 なお、暗号鍵key_Bの取得に失敗したら、ネットワークサービスn0は、暗号鍵key_Bの取得に失敗した旨をユーザ端末10aに通知してもよい。このネットワークサービスn0からの通知を受けることで、ユーザ端末10aは、ネットワークサービスn0上で、自身がユーザ端末10bと関連付けられていないことを認識することができる。この場合には、ユーザ端末10aは、ユーザ端末10bを信頼できる相手とはみなさず、通信を確立せずに一連の処理を終了すればよい。
 また、ユーザ端末10bは、所定の時間内にネットワークサービスn0からの応答がなかった場合(即ち、所定の時間内に暗号鍵key_Bが取得できなかった場合)についても同様に、暗号鍵key_Bの取得に失敗した旨をユーザ端末10aに通知してもよい。
 (ステップS413)
 暗号鍵key_Bが取得できたら、ユーザ端末10aの認証処理部144は、取得した暗号鍵key_Bが鍵情報記憶部143に記憶されているかを確認し、暗号鍵key_Bが記憶されてなければ、鍵情報記憶部143に暗号鍵keyBを記憶させる。なお、本実施形態に係るステップS413に係る処理は、前述した第1の実施形態に係る無線通信システムのS413(図15参照)と同様である。そのため詳細な説明は省略する。
 (ステップS514)
 また、ユーザ端末10aの認証処理部144は、鍵情報記憶部143に記憶された自身に対応する暗号鍵key_Aを抽出する。ユーザ端末10aの認証処理部144は、抽出した暗号鍵key_Aと、自身(ユーザ端末10a)との相互接続を確立するための情報と、自信を特定するための識別情報とを、暗号鍵key_Bで暗号化する。図20に示す例では、認証処理部144は、自信を特定するための識別情報として、ネットワークサービスn0上におけるユーザuaのユーザID「A_account」と、ユーザ端末10aのデバイスID「A_dev_id」を用いている。また、ユーザ端末10aとの相互接続を確立するための情報としては、例えば、アクセスポイントの情報が挙げられる。以降では、ユーザ端末10aとの相互接続を確立するための情報を「A_access_point」と記載する場合がある。
 なお、以降では、暗号鍵key_Bで暗号化されたkey_Aを「key_B:key_A」、暗号鍵key_Bで暗号化されたA_access_pointを「key_B:A_access_point」と記載する場合がある。同様に、暗号鍵key_Bで暗号化されたA_accountを「key_B:A_account」と記載し、暗号鍵key_Bで暗号化されたA_dev_idを「key_B:A_dev_id」と記載する場合がある。
 ユーザ端末10aの認証処理部144は、暗号鍵key_Bで暗号化されたkey_B:A_account、key_B:A_dev_id、key_B:key_A、及びkey_B:A_access_pointをユーザ端末10bに送信する。このとき、ユーザ端末10aは、ネットワークサービスn0の種別を特定するための情報として、ID種別d110をユーザ端末10bに送信してもよい。なお、以降では、ユーザ端末10aの認証処理部144は、ID種別d110をユーザ端末10bに送信するものとして説明する。
 (ステップS502)
 ユーザ端末10bの認証処理部133は、暗号鍵key_Bで暗号化されたkey_B:A_account、key_B:A_dev_id、key_B:key_A、及びkey_B:A_access_pointをユーザ端末10aから取得する。また、このときユーザ端末10bの認証処理部133は、ユーザ端末10aからID種別d110を取得してもよい。ID種別d110を取得することで、認証処理部133は、key_B:A_accountを復号することで得られるユーザID「A_account」が、どのネットワークサービスn0に対応しているかを認識することができる。
 ユーザ端末10bの認証処理部133は、鍵情報記憶部132に記憶された自身に対応する復号鍵で、key_B:A_account、key_B:A_dev_id、key_B:key_A、及びkey_B:A_access_pointを復号する。これにより、認証処理部133は、復号されたユーザID「B_account」、デバイスID「B_dev_id」、暗号鍵key_A、及びアクセスポイント情報A_access_pointを取得する。
 なお、ユーザ端末10b以外の他のユーザ端末10は、暗号鍵key_Bで暗号化されたデータを復号できない。そのため、ユーザID「A_account」、デバイスID「A_dev_id」、暗号鍵key_A、及びアクセスポイント情報A_access_pointは、ユーザ端末10b以外の他のユーザ端末10には取得されないこととなる。
 なお、以降の処理は、前述した「2.2.通信シーケンス(識別情報を暗号化しない方法)」と同様である。そのため、詳細な説明は省略する。
 以上のように、「識別情報を暗号化する方法」に基づき互いを認証することで、ユーザ端末10a及び10bは、互いの識別情報を暗号化して送受信することが可能となる。これにより、ユーザ端末10a及び10bは、「識別情報を暗号化する方法」に比べて、より安全に互いを認証することが可能となる。
 [2.4.通信シーケンス(相手の鍵を利用する方法)]
 次に、図22を参照しながら、本実施形態に係る無線通信システムにおいて、ユーザ端末10a及び10bのそれぞれが、相手の暗号鍵(公開鍵)を既に取得しており、相手の暗号鍵を利用して互いを認証する場合の通信シーケンスについて説明する。図22は、本実施形態に係る無線通信システムにおける通信処理シーケンスの一例を示したシーケンス図であり、通信相手の公開鍵を既に取得している場合の一連のシーケンスについて示している。なお、以降では、ユーザ端末10bが、ユーザ端末10aがブロードキャストしたビーコンb10を受信したものとして説明する。
 (ステップS601)
 ユーザ端末10bは、ユーザ端末10aがブロードキャストしたビーコンb10を受信する。このとき、ユーザ端末10bは、識別情報を受信する側のユーザ端末10として動作する(図5参照)。即ち、ユーザ端末10bの識別情報取得部141は、ユーザ端末10aを特定するための識別情報をユーザ端末10aから取得する。このとき、ユーザ端末10bの識別情報取得部141は、ID種別d110を示す情報をあわせて取得する。
 なお、ステップS601に係る動作は、第1の実施形態に係る無線通信システムのステップS301(図16参照)に係る動作と同様である。即ち、ユーザ端末10bの識別情報取得部141は、ビーコンb10内の各情報に基づき、ユーザ端末10aが、互いを認証する方法として「相手の鍵を利用する方法」を許可しているか否かを確認する。また、ビーコンb10からユーザ端末10aの識別情報(例えば、ユーザIDやデバイスID)を取得する。なお、当該識別情報がサービス固有の暗号鍵key_Sで暗号化されている場合には、識別情報取得部141は、ID種別d110で示されたネットワークサービスn0にアクセスし、当該識別情報を復号させる。なお、各処理の詳細については、第1の実施形態に係るステップS301に係る処理と同様のため省略する。
 次に、ユーザ端末10bは、識別情報を送信する側のユーザ端末10として動作する。即ち、ユーザ端末10bの識別情報通知部136は、ユーザID、デバイスID、及びID種別d110を識別情報取得部141から取得する。識別情報通知部136は、取得したユーザID、デバイスID、及びID種別d110に関連付けられた暗号鍵を、鍵情報記憶部143から抽出する。このとき、ユーザ端末10aとの間で既に暗号鍵の交換が行われている場合には、識別情報通知部136は、ユーザ端末10aに対応する暗号鍵key_Aを抽出する。なお、暗号鍵を抽出できなった場合には、識別情報通知部136は、上述した、「識別情報を暗号化しない方法」及び「識別情報を暗号化する方法」のうちのいずれかにより、ユーザ端末10aとの間で互いを認証する。以降では、識別情報通知部136は、暗号鍵key_Aを抽出したものとして説明する。
 次に、ユーザ端末10bの識別情報通知部136は、ユーザ端末10bから通知されたID種別d110に対応するネットワークサービスn0のユーザIDを、識別情報記憶部135に記憶された持ち主情報d10から抽出する。具体的には、識別情報通知部136は、各持ち主情報d10のID種別d110を参照し、ユーザ端末10bから通知されたID種別d110持ち主情報d10を特定する。識別情報通知部136は、特定した持ち主情報d10の持ち主IDd120からユーザIDを抽出すればよい。
 暗号鍵key_Aを抽出したら、ユーザ端末10bの識別情報通知部136は、抽出したユーザ端末10bを特定するための識別情報を、暗号鍵key_Aで暗号化する。図22に示す例では、ユーザ端末10bの識別情報通知部136は、ユーザubのネットワークサービスn0におけるユーザID「B_acccount」と、ユーザ端末10bを特定するためのデバイスID「B_dev_id」とを暗号鍵key_Aで暗号化している。なお、以降では、暗号鍵key_Aで暗号化されたユーザID「B_acccount」を、「key_A:B_account」と記載する場合がある。同様に、暗号鍵key_Aで暗号化されたデバイスID「B_dev_id」を、「key_A:B_dev_id」と記載する場合がある。
 ユーザ端末10bの識別情報通知部136は、暗号鍵key_Aで暗号化されたユーザ端末10bを特定するための識別情報をユーザ端末10aに送信する。このとき、識別情報通知部136は、送信する識別情報が、「内部レコード探索用暗号化アカウント」であることを示すID種別d110を、あわせてユーザ端末10aに送信してもよい。このID種別d110により、ユーザ端末10aは、受信した識別情報が、どのネットワークサービスn0に対応しているかや、自身の暗号鍵key_Aで暗号化されていることを認識することができる。また、ユーザ端末10bの識別情報通知部136は、暗号鍵key_Aで暗号化されたユーザ端末10bを特定するための識別情報をユーザ端末10aにユニキャストしてもよいし、ブロードキャストすることでユーザ端末10aに送信してもよい。なお、以降では、識別情報通知部136は、ID種別d110をユーザ端末10aに送信するものとして説明する。また、以降では、ユーザ端末10bの識別情報通知部136は、暗号化されたユーザID「key_A:B_acccount」及び暗号化されたデバイスID「key_A:B_dev_id」を、ユーザ端末10aに送信するものとして説明する。また、以降では、ユーザ端末10a及び10bの間では、図19に示す通信データd30bに基づき、情報をユニキャストするものとする。
 (ステップS611)
 ユーザ端末10aの識別情報取得部141は、ユーザ端末10bから、ユーザ端末10bを特定するための識別情報として、暗号鍵key_Aで暗号化されたユーザID「B_acccount」及びデバイスID「B_dev_id」を取得する。
 識別情報取得部141は、ユーザ端末10bから取得したID種別d110に基づき、取得した識別情報が「内部レコード探索用暗号化アカウント」を示しているか否かを判別する。ここでは、取得したID種別d110は、「内部レコード探索用暗号化アカウント」を示しているものとして説明する。ユーザ端末10aの識別情報取得部141は、鍵情報記憶部143に記憶されたユーザ端末10aに対応する復号鍵で、暗号化されたユーザID「key_A:B_acccount」及び暗号化されたデバイスID「key_A:B_dev_id」を復号する。これにより、識別情報取得部141は、復号されたユーザID「B_acccount」及びデバイスID「B_dev_id」を取得する。
 (ステップS612)
 なお、ユーザ端末10bの識別情報通知部136が、ユーザ端末10aに対してユーザ端末10bを特定するための識別情報をユニキャストした場合には、ユーザ端末10aは、ユーザ端末10bから取得した情報が自分宛か否かを判別してもよい。この場合には、ユーザ端末10aは、例えば、通信データd30b(図19参照)の受信者情報d330に自身の情報(即ち、ユーザuaのユーザIDや、ユーザ端末10aのデバイスID)が設定されているか否かにより、自分宛か否かを判別してもよい。なお、受信者情報d330に格納された情報がサービス固有の暗号鍵key_Sで暗号化されている場合には、ユーザ端末10aは、ネットワークサービスn0にアクセスし、暗号鍵key_Sで暗号化された情報を復号してもよい。同様に、受信者情報d330に格納された情報がユーザ端末aに対応する暗号鍵key_Aで暗号化されている場合には、ユーザ端末10aは、ユーザ端末aに対応する復号鍵に基づき、暗号鍵key_Aで暗号化された情報を復号してもよい。また、ユーザ端末10aは、ユーザ端末10bから取得した情報が自分宛ではなかった場合には、ユーザ端末10bに拒否通知を送信し、通信シーケンスを直ちに終了させてもよい。
 (ステップS613)
 識別情報取得部141は、ID種別d110が示すネットワークサービスn0の種別と、復号されたユーザID「B_acccount」及びデバイスID「B_dev_id」とに関連付けられた暗号鍵を鍵情報記憶部143から抽出する。この場合には、ユーザ端末10bに対応する暗号鍵key_Bが抽出される。
 (ステップS614)
 なお、識別情報取得部141は、抽出した暗号鍵key_Bに関する情報を更新してもよい。具体的な一例として、識別情報取得部141は、鍵情報記憶部143に記憶された管理データd40において、抽出した暗号鍵key_Bに関連付けられた更新日時d442を更新してもよい。
 なお、以降の処理は、前述した「2.3.通信シーケンス(識別情報を暗号化する方法)」と同様である。そのため、詳細な説明は省略する。
 以上のように、「相手の鍵を利用する方法」に基づき互いを認証する場合には、ユーザ端末10a及び10bは、ユーザ端末10a及び10bが関連付けられているかをネットワークサービスn0を介して確認する必要がなくなる。そのため、「識別情報を暗号化しない方法」及び「識別情報を暗号化する方法」に比べて、ユーザ端末10a及び10bがネットワークサービスn0にアクセスする回数を制限することが可能となる。これにより、ユーザ端末10a及び10bは、互いを認証する際の、ネットワークサービスn0のような外部ネットワークへのアクセスに伴う負荷を軽減することが可能となる。
 [2.5.まとめ]
 以上のように、本実施形態に係る無線通信システムでは、ユーザ端末10a及び10bのうち一方(ユーザ端末10aとする)がネットワークサービスn0から相手の暗号鍵key_Bを取得し、取得した暗号鍵key_Bで自身の暗号鍵key_Aを暗号化して相手に送信する。また、ユーザ端末10bは、ユーザ端末10aから暗号化された暗号鍵key_Aを取得し、取得した暗号化済みの暗号鍵key_Aを自身の復号鍵で復号することで、暗号鍵key_Aを取得する。これにより、ユーザ端末10bのみがネットワークサービスn0にアクセスすればよくなるため、第1の実施形態に係る無線通信システムに比べて、ユーザ端末10a及び10bの間の通信シーケンスを効率化することが可能となる。
 <3.第3の実施形態>
 [3.1.無線通信システムの概略]
 第1及び第2の実施形態では、ユーザ端末10a及び10bは、相互に通信を行う際に暗号化するための暗号鍵(公開鍵)を、ネットワークサービスn0上のソーシャルグラフを介して互いに送付していた。一方で、ネットワークサービスn0を介した通信のセキュリティ強度によっては、ネットワークサービスn0上のソーシャルグラフを介して送信する情報は暗号鍵(公開鍵)には限定されない。例えば、第1及び第2の実施形態では、アクセスポイントの情報をユーザ端末10a及び10bの間の暗号化通信により送受信していたが、ネットワークサービスn0を介した通信のセキュリティ強度が高ければ、ネットワークサービスn0を介して送受信してもよい。そこで、第3の実施形態では、ネットワークサービスn0をセキュリティが確保された通信経路とみなして、ユーザ端末10a及び10bが互いを認証するための情報を送受信する場合について説明する。
 まず、図23を参照しながら、本実施形態に係る無線通信システムの概略的な構成について説明する。本実施形態に係る無線通信システムは、サーバ50と、ユーザ端末10a及び10bを含む。サーバ50と、ユーザ端末10a及び10bとは、ネットワークn1を介して接続されている。なお、サーバ50と、ユーザ端末10a及び10bは、前述した第1及び第2の実施形態と同様である。即ち、サーバ50は、ネットワークサービスn0を提供し、ユーザ端末10a及び10bは、ネットワークサービスn0にアクセス可能に構成されている。また、本実施形態に係る無線通信システムは、ユーザ端末20aと、ユーザ端末20bと、ファイルサーバ60とを含み得る。ユーザ端末20aと、ユーザ端末20bと、ファイルサーバ60とは、ネットワークn1を介して、サーバ50、ユーザ端末10a、及びユーザ端末10bとそれぞれ通信可能に構成されている。
 ユーザ端末20aは、ユーザuaが操作可能な、ユーザ端末10aとは異なる端末を示している。また、ユーザ端末20bは、ユーザubが操作可能な、ユーザ端末10bとは異なる端末を示している。ユーザ端末20a及び20bは、例えば、PC(Personal Computer)や、スマートフォンのように、他の通信機器と直接的(相互接続による通信)または間接的(インターネットのような所定のネットワークを介した通信)に通信が可能な通信機器により構成される。
 ユーザ端末20a及び20bは、自身に記憶された情報を、所定のネットワークを介して読み出し可能に公開できるようにしてもよい。このとき、ユーザ端末20a及び20bは、自身に記憶された情報に対して、当該情報のユーザからの指示に基づき、当該情報を読み出すための認証情報(例えば、IDやパスワード)を設定可能に構成されていてもよい。これにより、例えば、ユーザuaは、自身の情報をユーザ端末20aに記憶させるとともに、当該情報を読み出すための認証情報を設定する。そして、ユーザuaは、当該情報を公開したい他のユーザubに対して設定した認証情報を通知することで、当該認証情報を通知したユーザにのみ当該情報を公開することが可能となる。
 ファイルサーバ60は、ユーザua及びubが、自身の操作する通信機器(例えば、ユーザ端末10a、10b、20a、または20b)によりアクセスすることで、自身の情報を読み出し可能に記憶させることが可能な外部サービスを示している。ファイルサーバ60は、自身に記憶された情報に対して、当該情報に対応するユーザからの指示に基づき、当該情報を読み出すための認証情報(例えば、IDやパスワード)を設定可能に構成されている。これにより、ユーザua及びubは、自身の情報をファイルサーバ60に記憶させるとともに、当該情報を読み出すための認証情報を設定する。そして、ユーザua及びubは、当該情報を公開したい他のユーザに対して設定した認証情報を通知することで、当該認証情報を通知したユーザにのみ当該情報を公開することが可能となる。
 次に、本実施形態に係る無線通信システムの概略的な動作について、図24を参照しながら説明する。図24は、本実施形態に係る無線通信システムの概略的な動作について説明するための図であり、ユーザ端末10aとユーザ端末10bとの間で情報を送受信する場合について示している。図24に示す例では、ユーザ端末10a及びユーザ端末10bは、同じネットワークサービスn0にアクセス可能な場合を示している。
 図24に示すように、本実施形態に係る無線通信システムでは、ユーザ端末10a及びユーザ端末10bは、ネットワークサービスn0を信頼できる通信経路r10と見なして、通信経路r10を介して互いを認証するための情報を送受信する。
 互いを認証するための情報の具体的な一例としては、第1及び第2の実施形態のように、ユーザ端末10a及び10bのそれぞれが保有する自身の暗号鍵(公開鍵)が挙げられる。また、他の一例として、ユーザ端末10a及び10bは、アクセスポイントの情報のように自身と相互接続を確立するための情報を、互いを認証するための情報として、通信経路r10を介して送信してもよい。また、他の一例として、ユーザ端末10a及び10bは、ファイルサーバ60(図23参照)に記憶された情報を読み出すための認証情報を、互いを認証するための情報として、通信経路r10を介して送信してもよい。
 [3.2.ユーザ端末の構成]
 次に、本実施形態に係るユーザ端末10の構成について説明する。本実施形態に係る無線通信システムでは、複数のユーザ端末10が互いに相手を信頼できる相手か否かを判断するために、一方のユーザ端末10が、他方のユーザ端末10から、ネットワークサービスn0上で相手を識別するための識別情報を受け取る。この点は、前述した第1及び第2の実施形態に係る無線通信システムと同様である。以降では、ユーザ端末10a及び10bが通信を行う場合を例に、ユーザ端末10bを識別情報の送信側とし、ユーザ端末10aを識別情報の受信側として説明する。
 (識別情報を送信する側のユーザ端末10)
 まず、図25を参照しながら、識別情報を送信する側のユーザ端末10bの構成について説明する。図25は、本実施形態に係るユーザ端末10bの構成を示したブロック図であり、識別情報を送信する側のユーザ端末10bの構成の一例を示している。図25に示すように、本実施形態に係るユーザ端末10bは、第1通信部111と、第2通信部121と、認証情報取得部151と、認証情報記憶部152と、認証処理部153と、識別情報管理部154と、識別情報記憶部155と、識別情報通知部156とを含む。
 第1通信部111は、ユーザ端末10b内の各構成が、携帯通信網のような基盤設備を介して他の通信機器と通信を行うために用いられる。なお、図25では、第1通信アンテナ112の図示を省略している。本実施形態に係る無線通信システムでは、ユーザ端末10b内の各構成は、第1通信部111を介してネットワークサービスn0にアクセスする。なお、以降では、ユーザ端末10b内の各構成がネットワークサービスn0とデータを送受信する場合には、特に明示が無い限りは、第1通信部111を介してデータを送受信するものとする。
 第2通信部121は、ユーザ端末10b内の各構成が、他のユーザ端末10(例えば、ユーザ端末10a)と相互接続を行うために用いられる。なお、図25では、第2通信アンテナ122の図示を省略している。ユーザ端末10a及び10bがアドホックネットワークを構築する場合には、ユーザ端末10b内の各構成は、第2通信部121を介してユーザ端末10aにアクセスする。なお、以降では、ユーザ端末10b内の各構成が他のユーザ端末(例えば、ユーザ端末10a)とデータを送受信する場合には、特に明示が無い限りは、第2通信部121を介してデータを送受信するものとする。
 識別情報管理部154、識別情報記憶部155、及び、識別情報通知部156は、前述した第1及び第2の実施形態における、識別情報管理部134、識別情報記憶部135、及び、識別情報通知部136と同様である。識別情報管理部154、識別情報記憶部155、及び、識別情報通知部156が動作することで、ユーザ端末10bのユーザであるユーザubの持ち主情報d10がユーザ端末10aに配布される。
 認証情報取得部151は、ユーザubと持ち主情報を配布したユーザ端末10aのユーザuaとがネットワークサービスn0上で関連付けられている場合に、ユーザ端末10aからネットワークサービスn0のソーシャルグラフを介して互いを認証するための情報を取得する。互いを認証するための情報の具体的な一例として、ユーザ端末10aと暗号化通信を行うための暗号鍵key_Aが挙げられる。また、他の一例として、認証情報取得部151は、アクセスポイントの情報のように、ユーザ端末10aと通信を確立するための情報を、互いを認証するための情報として取得してもよい。また、他の一例として、認証情報取得部151は、ユーザ端末10aやユーザ端末20aにアクセスするためのパスフレーズを、互いを認証するための情報として取得してもよい。また、他の一例として、認証情報取得部151は、ファイルサーバ60上に記憶されたユーザuaの情報を読み出すための認証情報を、互いを認証するための情報として取得してもよい。また、他の一例として、認証情報取得部151は、WSC(Wi-Fi Simple Configuration)におけるデバイスパスワードのように、通信先の相手が信用できる相手か否かを判断するための情報(以降では「デバイスパスワード」と呼ぶ)を、互いを認証するための情報として取得してもよい。
 認証情報取得部151は、取得した互いを認証するための情報を、ユーザ端末10aを特定するための情報(例えば、ユーザIDやデバイスID)と関連付けて認証情報記憶部152に記憶させる。認証情報記憶部152は、他のユーザ端末10から取得した互いを認証するための情報を記憶するための記憶部である。
 認証処理部153は、認証情報記憶部152に記憶された互いを認証するための情報に基づき、認証に係る処理を実行する。具体的な一例として、認証情報記憶部152に暗号鍵key_Aが記憶されている場合には、認証処理部153は、当該暗号鍵key_Aに基づき、ユーザ端末10aとの間で暗号化通信を行うための処理を実行する。
 また、他の一例として、認証情報記憶部152にユーザ端末10aのアクセスポイントの情報が記憶されている場合には、認証処理部153は、当該アクセスポイントの情報を基に、ユーザ端末10aとの間の相互接続を確立する。即ち、ユーザ端末10bは、ネットワークサービスn0上でユーザ端末10a及び10bが関連付けられている場合に、識別情報に対する応答として、ネットワークサービスn0を介して、ユーザ端末10aのアクセスポイントの情報を取得することができる。
 また、他の一例として、認証情報記憶部152に、ユーザ端末10aにアクセスするためのパスフレーズが記憶されている場合には、認証処理部153は、当該パスフレーズを使用してユーザ端末10aにアクセスする。なお、認証情報記憶部152に、ユーザ端末20aにアクセスするためのパスフレーズが記憶されている場合についても同様である。
 また、他の一例として、認証情報記憶部152にファイルサーバ60への認証情報を記憶されている場合には、認証処理部153は、当該認証情報に基づきファイルサーバ60に対して認証を依頼する。
 また、他の一例として、認証情報記憶部152にデバイスパスワードが記憶されている場合には、認証処理部153は、当該デバイスパスワードを用いて、通信先の相手が信用できる相手(即ち、ユーザ端末10a)か否かを判断してもよい。
 具体的な一例として、認証処理部153は、例えば、ディフィーヘルマン(DH:Diffie-Hellman)鍵共有法により通信路を暗号化した場合に、当該デバイスパスワードに基づき、ユーザ端末aとの間で互いが信用できる相手か否かを判別してもよい。この場合には、認証処理部153は、デバイスパスワードからハッシュ値を算出し、算出したハッシュ値をユーザ端末10aに送信する。また、認証処理部153は、同様にしてデバイスパスワードから算出されたハッシュ値をユーザ端末10aから受け取る。認証処理部153は、自身がデバイスパスワードから作成したハッシュ値と、ユーザ端末10aから取得したハッシュ値を比較する。このとき、認証処理部153が、ハッシュ値の作成に用いたデバイスパスワードは、ユーザ端末10aから取得している。そのため、通信相手がユーザ端末10a(即ち、信頼できる相手)の場合には、認証処理部153からデバイスパスワードから作成したハッシュ値と、ユーザ端末10aから取得したハッシュ値が一致することとなる。このようにして、認証処理部153は、認証情報記憶部152に記憶されたデバイスパスワード(即ち、ユーザ端末10aから取得したデバイスパスワード)に基づき、通信相手が信用できる相手か否か(ユーザ端末10aか否か)を判別することが可能となる。
 (識別情報を受信する側のユーザ端末10)
 次に、図26を参照しながら、送信された識別情報を受信する側のユーザ端末10aの構成について説明する。図26は、本実施形態に係るユーザ端末10aの構成を示したブロック図であり、識別情報を受信する側のユーザ端末10aの構成の一例を示している。図26に示すように、本実施形態に係るユーザ端末10aは、第1通信部111と、第2通信部121と、認証情報生成部161と、認証情報記憶部162と、識別情報取得部163と、認証情報通知部164と、認証処理部165とを含む。
 第1通信部111は、ユーザ端末10a内の各構成が、携帯通信網のような基盤設備を介して他の通信機器と通信を行うために用いられる。なお、図26では、第1通信アンテナ112の図示を省略している。本実施形態に係る無線通信システムでは、ユーザ端末10a内の各構成は、第1通信部111を介してネットワークサービスn0にアクセスする。なお、以降では、ユーザ端末10a内の各構成がネットワークサービスn0とデータを送受信する場合には、特に明示が無い限りは、第1通信部111を介してデータを送受信するものとする。
 第2通信部121は、ユーザ端末10a内の各構成が、他のユーザ端末10(例えば、ユーザ端末10b)と相互接続を行うために用いられる。なお、図26では、第2通信アンテナ122の図示を省略している。ユーザ端末10a及び10bがアドホックネットワークを構築する場合には、ユーザ端末10a内の各構成は、第2通信部121を介してユーザ端末10bにアクセスする。なお、以降では、ユーザ端末10a内の各構成が他のユーザ端末(例えば、ユーザ端末10b)とデータを送受信する場合には、特に明示が無い限りは、第2通信部121を介してデータを送受信するものとする。
 認証情報生成部161は、ユーザ端末10aが他のユーザ端末(例えば、ユーザ端末10b)との間で、互いを認証するための情報を生成する。具体的な一例として、認証情報生成部161は、第1及び第2の実施形態に係る鍵生成部131と同様に、暗号鍵(例えば、公開鍵)及び復号鍵(例えば、秘密鍵)を生成してもよい。この場合には、生成された暗号鍵が、互いを認証するための情報に相当する。また、他の一例として、認証情報生成部161は、アクセスポイントの情報のように、他のユーザ端末10がユーザ端末10aと通信を確立するための情報を生成してもよい。また、他の一例として、認証情報生成部161は、ユーザ端末10aやユーザ端末10aにアクセスするためのパスフレーズを生成してもよい。また、他の一例として、認証情報生成部161は、ファイルサーバ60に記憶されたユーザuaの情報を読み出すための認証情報を生成または取得(ファイルサーバ60から取得)してもよい。
 認証情報生成部161は、生成または取得した認証情報を認証情報記憶部162に記憶させる。認証情報記憶部162は、生成された認証情報を記憶するための記憶部である。
 識別情報取得部163は、前述した第1及び第2の実施形態に係る識別情報取得部141と同様である。即ち、識別情報取得部163は、他のユーザ端末10aから持ち主情報d10を取得し、取得した持ち主情報d10に基づき、ユーザ端末10aのユーザuaが、送信元のユーザ端末10のユーザとネットワークサービスn0上で関連付けられているかを判別する。なお、判別方法については、識別情報取得部141と同様のため詳細な説明は省略する。
 識別情報取得部163は、ユーザ端末10bから取得したユーザID及びデバイスIDと、持ち主情報d10から抽出したID種別d110とを、認証情報通知部164に通知する。
 認証情報通知部164は、ユーザID、デバイスID、及びID種別d110を識別情報取得部163から取得する。認証情報通知部164は、取得したID種別d110に対応するネットワークサービスn0にアクセスし、当該ネットワークサービスn0のソーシャルグラフを介して取得したユーザID及びデバイスIDを探索する。このとき、取得したユーザIDが示すユーザ(例えば、ユーザub)と、ユーザ端末10aのユーザuaがネットワークサービスn0で関連付けられている場合、認証情報通知部164は、ネットワークサービスn0上で当該ユーザID及びデバイスIDを特定できる。
 ネットワークサービスn0上でユーザID及びデバイスIDが特定できたら、認証情報通知部164は、認証情報記憶部162に記憶された認証情報を読み出す。認証情報通知部164は、読み出した認証情報を、ネットワークサービスn0のソーシャルグラフを介してユーザ端末10bに送信する。このとき、ネットワークサービスn0のソーシャルグラフが、図24における通信経路r10に相当する。
 認証処理部165は、ユーザ端末10aと他のユーザ端末10(例えば、ユーザ端末10b)との間で相互接続を行うための認証に係る処理を実行する。具体的な一例として、認証情報通知部164が、認証情報としてアクセスポイントの情報をユーザ端末10bに送信した場合には、当該認証情報に基づき、ユーザ端末10bの認証処理部153が、認証処理部165にアクセスする。認証処理部165は、認証処理部153から提示される認証情報(例えば、アクセスポイントの情報)を、認証情報記憶部162に記憶された認証情報と照合する。認証処理部153から提示された認証情報が正しければ、認証処理部165は、ユーザ端末10aとユーザ端末10bとの間の相互接続を確立する。
 なお、上記に示す例では、認証情報通知部164は、ネットワークサービスn0のソーシャルグラフを介して接続先のユーザ端末10を特定できた場合に、ネットワークサービスn0を介して接続先のユーザ端末10に認証情報を送信していた。一方で、認証情報通知部164は、ネットワークサービスn0のソーシャルグラフの探索を行わずに、ネットワークサービスn0を介して接続先のユーザ端末10宛てに認証情報を送信してもよい。この場合には、ネットワークサービスn0側で、送信元及び接続先の各ユーザ端末10がネットワークサービスn0上で関連付けられているか否かを判断し、関連付けられている場合にのみ、接続先のユーザ端末10に認証情報を通知すればよい。また、送信元及び接続先の各ユーザ端末10がネットワークサービスn0上で関連付けられていない場合には、ネットワークサービスn0は、通信が失敗したものとして、送信元のユーザ端末10にエラーを通知すればよい。
 [3.3.まとめ]
 以上のように、本実施形態に係る無線通信システムに依れば、ネットワークサービスn0上でユーザ端末10a及び10bが関連付けられている場合には、ユーザ端末10a及び10bは、ネットワークサービスn0をセキュリティが確保された通信経路とみなす。そして、ユーザ端末10a及び10bは、互いを認証するための情報を、ネットワークサービスn0のソーシャルグラフを介して送受信する。
 これにより、例えば、ユーザ端末10aは、アクセスポイントの情報のように相互接続を確立するための情報を、ネットワークサービスn0上のソーシャルグラフを介して他のユーザ端末10bに送信することが可能となる。これにより、ユーザ端末10bは、ネットワークサービスn0上のソーシャルグラフを介して取得したアクセスポイントの情報に基づき、ユーザ端末10aとの間で相互接続を確立することが可能となる。
 また、他の一例として、ユーザ端末10aは、自身やユーザ端末20aにアクセスするためのパスフレーズを、ネットワークサービスn0上のソーシャルグラフを介して他のユーザ端末10bに送信することもできる。これにより、ユーザ端末10bは、ネットワークサービスn0上のソーシャルグラフを介して取得したパスフレーズを用いて、ユーザ端末10aやユーザ端末20aにアクセスすることが可能となる。
 また、他の一例として、ユーザ端末10aは、自身に対応する暗号鍵key_Aを、ネットワークサービスn0上のソーシャルグラフを介して他のユーザ端末10bに送信することもできる。これにより、ユーザ端末10bは、ユーザ端末10aに対応する暗号鍵key_Aを容易に取得することができ、ユーザ端末10aとの間で暗号化通信を行うことが可能となる。
 また、他の一例として、ユーザ端末10aは、ファイルサーバ60のような外部サービスからユーザuaの情報を読み出すための認証情報を、ネットワークサービスn0上のソーシャルグラフを介して他のユーザ端末10bに送信することもできる。これにより、ユーザ端末10bは、取得した認証情報に基づき、ファイルサーバ60のような外部サービスからユーザuaに関する情報を取得することが可能となる。
 このように、本実施形態に係る無線通信システムに依れば、ユーザ端末10a及び10bの間で、簡易かつ安全に通信相手を相互に認証することが可能となる。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、上述した各実施形態に係る無線通信システムの一連の動作は、ユーザ端末10のCPU101を機能させるためのプログラムによって構成することができる。このプログラムは、その装置(例えば、ユーザ端末10)にインストールされたOS(Operating System)を介して実行されるように構成してもよい。また、このプログラムは、上述した処理を実行する構成が含まれる装置が読み出し可能であれば、記憶される位置は限定されない。例えば、装置の外部から接続される記録媒体にプログラムが格納されていてもよい。この場合には、プログラムが格納された記録媒体を装置に接続することによって、その装置のCPUに当該プログラムを実行させるように構成するとよい。
 また、上記では、スマートフォンのようなユーザ端末10間でアドホックネットワークを構築する例について説明したが、通信が可能な機器であればスマートフォンのような通信機器には限定されない。例えば、ユーザ端末10は、ネットワークにアクセス可能なTV等の家電であってもよい。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 他端末を識別するための第1の識別情報を取得する取得部と、
 自端末と前記他端末との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記他端末にネットワークサービスを介して送信する通信部と、
 を備えた、情報処理装置。
(2)
 前記通信部は、前記第1の識別情報が、自端末を識別するための第2の識別情報と、ネットワークサービス上で関連付けられている場合に、前記第1の識別情報に基づき特定される前記他端末に、前記互いを認証するための情報を、前記ネットワークサービスを介して送信する、前記(1)に記載の情報処理装置。
(3)
 前記互いを認証するための情報は、前記第2の識別情報に関連付けられた暗号鍵を含む、前記(2)に記載の情報処理装置。
(4)
 前記暗号鍵と、前記暗号鍵で暗号化された情報を復号する復号鍵とを生成する鍵生成部を備えた、前記(3)に記載の情報処理装置。
(5)
 前記互いを認証するための情報は、互いを認証するためのパスフレーズを含む、前記(2)に記載の情報処理装置。
(6)
 前記第1の識別情報は、前記他端末のユーザを示す第1のユーザIDを含む、前記(2)~(5)のいずれか一項に記載の情報処理装置。
(7)
 前記第2の識別情報は、自端末のユーザを示す第2のユーザIDを含み、
 前記通信部は、前記ネットワークサービス上で、前記第1のユーザIDと前記第2のユーザIDとが関連付けられている場合に、前記第1の識別情報に基づき特定される前記他端末に、前記互いを認証するための情報を、前記ネットワークサービスを介して送信する、前記(6)に記載の情報処理装置。
(8)
 前記第1の識別情報は、前記他端末を一意に特定する第1のデバイスIDを含む、前記(2)~(6)のいずれか一項に記載の情報処理装置。
(9)
 前記第2の識別情報は、自端末を一意に特定する第2のデバイスIDを含み、
 前記通信部は、前記ネットワークサービス上で、前記第1のデバイスIDと前記第2のデバイスIDとが関連付けられている場合に、前記第1の識別情報に基づき特定される前記他端末に、前記互いを認証するための情報を、前記ネットワークサービスを介して送信する、前記(8)に記載の情報処理装置。
(9)
 第1の情報処理装置と、
 前記第1の情報処理装置と無線で通信を行う第2の情報処理装置と、
 を備え、
 前記第1の情報処理装置は、
 前記第1の情報処理装置を特定するための第1の識別情報を、前記第2の情報処理装置に送信する第1の通信部、
 を備え、
 前記第2の情報処理装置は、
 前記第1の識別情報を取得する取得部と、
 前記第2の情報処理装置と前記第1の情報処理装置との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記第1の情報処理装置にネットワークサービスを介して送信する第2の通信部と、
 を備えた、無線通信システム。
(10)
 他端末を識別するための第1の識別情報を取得することと、
 自端末と前記他端末との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記他端末にネットワークサービスを介して送信することと、
 を備えた、情報処理方法。
(11)
 コンピュータに、
 他端末を識別するための第1の識別情報を取得するステップと、
 自端末と前記他端末との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記他端末にネットワークサービスを介して送信するステップと、
 を実行させるためのプログラム。
10、10a、10b ユーザ端末
20a、20b ユーザ端末
50  サーバ
60  ファイルサーバ
102 メモリ
103 出力部
103 表示部
104 入力部
105 記憶部
106 インタフェース
111 第1通信部
112 第1通信アンテナ
121 第2通信部
122 第2通信アンテナ
131 鍵生成部
132 鍵情報記憶部
133 認証処理部
134 識別情報管理部
135 識別情報記憶部
136 識別情報通知部
141 識別情報取得部
142 鍵取得部
143 鍵情報記憶部
144 認証処理部
151 認証情報取得部
152 認証情報記憶部
153 認証処理部
154 識別情報管理部
155 識別情報記憶部
156 識別情報通知部
161 認証情報生成部
162 認証情報記憶部
163 識別情報取得部
164 認証情報通知部
165 認証処理部

Claims (12)

  1.  他端末を識別するための第1の識別情報を取得する取得部と、
     自端末と前記他端末との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記他端末にネットワークサービスを介して送信する通信部と、
     を備えた、情報処理装置。
  2.  前記通信部は、前記第1の識別情報が、自端末を識別するための第2の識別情報と、ネットワークサービス上で関連付けられている場合に、前記第1の識別情報に基づき特定される前記他端末に、前記互いを認証するための情報を、前記ネットワークサービスを介して送信する、請求項1に記載の情報処理装置。
  3.  前記互いを認証するための情報は、前記第2の識別情報に関連付けられた暗号鍵を含む、請求項2に記載の情報処理装置。
  4.  前記暗号鍵と、前記暗号鍵で暗号化された情報を復号する復号鍵とを生成する鍵生成部を備えた、請求項3に記載の情報処理装置。
  5.  前記互いを認証するための情報は、互いを認証するためのパスフレーズを含む、請求項2に記載の情報処理装置。
  6.  前記第1の識別情報は、前記他端末のユーザを示す第1のユーザIDを含む、請求項2に記載の情報処理装置。
  7.  前記第2の識別情報は、自端末のユーザを示す第2のユーザIDを含み、
     前記通信部は、前記ネットワークサービス上で、前記第1のユーザIDと前記第2のユーザIDとが関連付けられている場合に、前記第1の識別情報に基づき特定される前記他端末に、前記互いを認証するための情報を、前記ネットワークサービスを介して送信する、請求項6に記載の情報処理装置。
  8.  前記第1の識別情報は、前記他端末を一意に特定する第1のデバイスIDを含む、請求項2に記載の情報処理装置。
  9.  前記第2の識別情報は、自端末を一意に特定する第2のデバイスIDを含み、
     前記通信部は、前記ネットワークサービス上で、前記第1のデバイスIDと前記第2のデバイスIDとが関連付けられている場合に、前記第1の識別情報に基づき特定される前記他端末に、前記互いを認証するための情報を、前記ネットワークサービスを介して送信する、請求項8に記載の情報処理装置。
  10.  第1の情報処理装置と、
     前記第1の情報処理装置と無線で通信を行う第2の情報処理装置と、
     を備え、
     前記第1の情報処理装置は、
     前記第1の情報処理装置を特定するための第1の識別情報を、前記第2の情報処理装置に送信する第1の通信部、
     を備え、
     前記第2の情報処理装置は、
     前記第1の識別情報を取得する取得部と、
     前記第2の情報処理装置と前記第1の情報処理装置との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記第1の情報処理装置にネットワークサービスを介して送信する第2の通信部と、
     を備えた、無線通信システム。
  11.  他端末を識別するための第1の識別情報を取得することと、
     自端末と前記他端末との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記他端末にネットワークサービスを介して送信することと、
     を備えた、情報処理方法。
  12.  コンピュータに、
     他端末を識別するための第1の識別情報を取得するステップと、
     自端末と前記他端末との間で互いを認証するための情報を、前記第1の識別情報に基づき特定される前記他端末にネットワークサービスを介して送信するステップと、
     を実行させるためのプログラム。
PCT/JP2014/054369 2013-04-30 2014-02-24 情報処理装置、無線通信システム、情報処理方法、及びプログラム WO2014178218A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/786,502 US9992196B2 (en) 2013-04-30 2014-02-24 Information processing device, wireless communication system, information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013095545 2013-04-30
JP2013-095545 2013-04-30

Publications (1)

Publication Number Publication Date
WO2014178218A1 true WO2014178218A1 (ja) 2014-11-06

Family

ID=51843356

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/054369 WO2014178218A1 (ja) 2013-04-30 2014-02-24 情報処理装置、無線通信システム、情報処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US9992196B2 (ja)
WO (1) WO2014178218A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095998A (zh) * 2020-07-31 2022-02-25 华为技术有限公司 用于局域网络中终端的服务信息同步方法及终端

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6721832B2 (ja) * 2016-08-24 2020-07-15 富士通株式会社 データ変換プログラム、データ変換装置及びデータ変換方法
WO2018166102A1 (zh) * 2017-03-14 2018-09-20 华为技术有限公司 一种多设备无线连接方法和设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006165984A (ja) * 2004-12-07 2006-06-22 Hitachi Ltd アドホックネットワークの認証方法、および、その無線通信端末
US20130103765A1 (en) * 2011-10-19 2013-04-25 Matthew Nicholas Papakipos Social Ad Hoc Networking Protocol and Presentation Layer

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9112681B2 (en) * 2007-06-22 2015-08-18 Fujitsu Limited Method and apparatus for secure information transfer to support migration
US8190119B2 (en) 2009-03-03 2012-05-29 E3 Llc System and method for direct communication between wireless communication devices
US8893236B2 (en) * 2013-02-25 2014-11-18 Red Hat, Inc. Systems, methods, and computer program products for authenticating human users of a computer system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006165984A (ja) * 2004-12-07 2006-06-22 Hitachi Ltd アドホックネットワークの認証方法、および、その無線通信端末
US20130103765A1 (en) * 2011-10-19 2013-04-25 Matthew Nicholas Papakipos Social Ad Hoc Networking Protocol and Presentation Layer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095998A (zh) * 2020-07-31 2022-02-25 华为技术有限公司 用于局域网络中终端的服务信息同步方法及终端
CN114095998B (zh) * 2020-07-31 2023-06-20 华为技术有限公司 用于局域网络中终端的服务信息同步方法及终端

Also Published As

Publication number Publication date
US9992196B2 (en) 2018-06-05
US20160105433A1 (en) 2016-04-14

Similar Documents

Publication Publication Date Title
JP6361650B2 (ja) 情報処理装置、無線通信システム、情報処理方法、及びプログラム
CN107079058B (zh) 区块链节点的业务执行方法、装置及节点设备
KR102663781B1 (ko) 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들
CN102739643A (zh) 许可访问网络
KR101889495B1 (ko) 패시브 근거리 통신을 이용하는 무선 구성
TWI647941B (zh) 用於向網路登記客戶端設備的方法、設備、及電腦程式產品
US8170591B2 (en) Proximity-based mobile message delivery
US10298398B2 (en) Peer discovery, connection, and data transfer
JP4667739B2 (ja) 暗号鍵設定システム、アクセスポイント、無線lan端末、および、暗号鍵設定方法
US9557188B2 (en) Method and system for using relationship information from a social network to enable mobile device communications in a privacy enhanced network
EP2687036B1 (en) Permitting access to a network
JP4606055B2 (ja) 暗号鍵設定システム、アクセスポイントおよび暗号鍵設定方法
WO2018069566A1 (en) Method, device and system for validating sensitive user data transactions within trusted circle
JP2009071707A (ja) 鍵共有方法、鍵配信システム
JP4489601B2 (ja) セキュリティ情報の交換方法およびレコーダ装置ならびにテレビ受像機
WO2014178218A1 (ja) 情報処理装置、無線通信システム、情報処理方法、及びプログラム
US8885827B2 (en) System and method for enabling a host device to securely connect to a peripheral device
US20160050184A1 (en) Method for secure e-mail exchange
KR101172876B1 (ko) 사용자 단말기와 서버 간의 상호 인증 방법 및 시스템
JP2005284346A (ja) 情報処理システム、情報処理装置および方法、並びにプログラム
JP6654934B2 (ja) 認証システム
JP5940745B2 (ja) パーソナルコンピュータを活用するモバイルインスタントメッセージングサービス方法
JP2005284344A (ja) 情報処理システム、情報処理装置および方法、並びにプログラム
JP2006157635A (ja) 情報処理装置、情報処理方法、および情報処理プログラム
Malkani A proof-of-proximity framework for device pairing in ubiquitous computing environments.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14791308

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14786502

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14791308

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP