Patent Publication Number: US-2019191358-A1

Title: Method to verify the location of a user

Description:
BACKGROUND 
     The convenience of accessing an Internet service provider from anywhere in the world is greatly appreciated and enables to share knowledge. However, in some instances, the service provider is willing to know the origin or the location of the request for a service. The Internet service provider in some case is willing to limit the access to some services to users located in a certain area. This could be the case for copyright issues, when the copyright owner has granted the right to transmit an audio or video content to users located in a particular country. The standard procedure is to fetch the IP address of the requestor and to check the location of the requestor. The IP address does not directly contain the country of origin such as the international prefix for the phone, but services are available to search the “whois” records for an IP you&#39;re interested in, and will give you the country. 
     The basic protocol for sending data over the Internet network and many other computer networks is the Internet Protocol (IP). The protocol specifies that each IP packet should have a header which contains, amongst other things, the IP address of the sender of the packet. The source IP address is normally the address that the packet was sent from, but the sender&#39;s address in the header can be altered, so that to the recipient it appears that the packet came from another source. The protocol requires the receiving party to send back a response to the source address, so that spoofing is mainly used when the sender uses a proxy that is located in another location than the one of the sender. 
     Using a VPN is another method to hide an IP address. VPN stands for virtual private network and it is possible to connect a computer or a device to someone else&#39;s network, then browse the web through their network. Whatever activity the computer is doing looks like it&#39;s coming from them (i.e. the network), not from the computer. 
     In other words, while connecting to a VPN, the computer is masking its IP address with one of the IP addresses in that network. 
     BRIEF DESCRIPTION 
     Today, most of the users actively using Internet have a mobile device. The mobile device is connected with the nearest mobile communication tower in communication with the main mobile service provider, for which the mobile device is registered. This main mobile service provider knows where the mobile device is located in order to transmit any message or communication. In case that the mobile device is located in another country, the roaming procedure is activated and the mobile device is connected with a local mobile service provider. This local mobile provider collects the identification data of the mobile device and transmits the current status of the mobile device to the main mobile service provider. The local mobile service provider is active in a country and the main mobile service provider receives the details of the local mobile service provider including the country where it is located. 
     As a consequence, a method is proposed to validate a location of a user using an Internet service of a service provider, said user having a mobile device registered with a mobile service provider, said method comprising:
         requesting by the Internet service provider, the location of the user,   receiving, via the Internet, from the user, an indicated location of the user,   requesting the user to send a message to the Internet service provider with the mobile device, said message comprising data identifying the user,   receiving the message by the Internet service provider and determining the mobile service provider of the mobile device,   requesting, by the Internet service provider, the mobile service provider to confirm the indicated location for said mobile device using the data of the message,   determining, by the mobile service provider the actual location of the mobile device,   comparing the actual location with the indicated location,   transmitting the result of the comparison to the Internet service provider, and   validating by the Internet service provider the location if the comparison is positive.       

    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
       The present case will be better understood thanks to the attached figures in which: 
         FIG. 1  illustrates the system comprising the user connected with the Internet service provider with a computer and with a mobile service provider with a mobile device. 
         FIG. 2A  illustrates a first way to identify the user while a message is received, 
         FIG. 2B  illustrates a second way to identify the user while a message is received, and 
         FIG. 3  illustrates the roaming case of the  FIG. 1 . 
     
    
    
     DETAILED DESCRIPTION 
     The main feature is to use the mobile device in the verification method. The mobile device MD is connected to the nearest mobile service provider tower MSP-T in order to connect to the mobile network. The tower MSP-T is part of the network of the mobile service provider MSP. The mobile device is registered in one mobile service provider at a time. The main mobile service provider is the one with which the mobile device is initially registered. The main mobile service provider is in charge of the billing of the mobile device activities and keeps track of the location within its network of the mobile device. This way, in case that a communication with the mobile device is requested by a third party, the main mobile service provider can establish a connection with the mobile device through the mobile service provider tower MSP-T. So at any time, the mobile service provider knows where the mobile device is located, at least in which area corresponding to the nearest tower. 
     In the case illustrated at the  FIG. 3 , the mobile device MD is connected with a tower belonging to a local mobile service provider LMSP. This is not the mobile service provider for which the mobile device MD is initially registered. The local mobile service provider LMSP is in connection with the main mobile service provider MMSP via a communication network. The protocol used is the one in charge of the roaming of our mobile communications. This way, the main mobile service provider MMSP receives the information of the location of the mobile device MD from the local mobile service provider. 
     In other cases, the mobile device is connected to one of the towers of the main mobile service provider. In this case, the main mobile service provider knows the location of the mobile device. 
     As illustrated in  FIG. 1 , the user is connected to an Internet service provider system ISP via a user&#39;s computer UC. The user&#39;s computer can by any type of device allowing access to Internet such as desktop computer, portable computer, tablet, smartphone. In one particular case, the user&#39;s computer UC can be the mobile device MD. 
     During a session of the user with the Internet service provider system ISP, the latter requests the verification of the location of the user&#39;s computer UC. For that purpose, the Internet service provider system ISP requests the user&#39;s computer UC to send a message to a particular number belonging to the Internet service provider system ISP. The message sent by the user via its mobile device MD should be identified as belonging to the user currently accessing the Internet service provider system ISP. For that purpose, as illustrated by the  FIGS. 2 a  and 2 b   , two solutions are proposed. The first one is based on a one-time code displayed on the user&#39;s computer (see  FIG. 2 a   ). The user copies the one-time code into the message and sends the message to the number displayed on the user&#39;s computer UC. Once the message is received by the Internet service provider system ISP, the one-time code is extracted from the message and compared with the one displayed on the user&#39;s computer UC. 
     In the second solution, the user enters all or part of its mobile device number in a window displayed by the Internet service provider. When the Internet service provider system receives the message sent by the mobile device MD, it checks the mobile number of the sender and compares it with the one received via the Internet session. In this case, the content of the message is not used. The Internet service provider system checks among all messages received during a time window if one matches the number introduced by the user during the current active session. 
     The Internet service provider system could receive a plurality of messages within a short time frame. This is why the Internet service provider system should determine which user (or which active session) it refers to. 
     Using the one-time code or the mobile number, the Internet service provider system can find a match with the current session of the user and one of the received messages. For example, for a first user having a first user session, the one-time code was 1A6TV and for a second user having a second user session, the one-time code was 2FZ10. 
     Extracting the one-time code from a received message allows the Internet service provider system to determine which user session it refers to. 
     In the same manner, a first message having a first mobile number and a second message having a second mobile number are received by the Internet service provider. Using the mobile number (or part of it) entered by the user during the user session allows the Internet service provider system to allocate a received message with a user session. 
     Other methods to reconcile a received message with a current session can be used. For example the user can introduce its username in the message, the one used during the session with the Internet service provider. 
     When the message is received by the Internet service provider system ISP, the mobile device number is known to the ISP. The originator number is part of the message. The mobile device number comprises a country code (e.g. 49 for Germany) indicating the main mobile service provider. This country code cannot be used to verify the location since the user can move to another country or the user can have acquired a SIM card from another mobile service provider located in a different country to which the user is currently located. 
     Applications are available to send a message to a mobile number via the Internet from a web platform or a smartphone (or tablet) application. The Internet service provider system can analyse the received message and determine if the origin is an application or a mobile device. Messages originating from an application are excluded from the verification in the present invention. One way to discriminate such messages is to extract from the message header information identifying the origin of the message. Another way is to check if the mobile number of the sender is part of a list of mobile numbers used by such Applications. 
     
       
         
           
               
               
               
               
             
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 Byte(s) 
                 Description 
                 format 
               
               
                   
                   
               
             
            
               
                   
                 07 
                 Length of the SMC 
                 hex-byte 
               
               
                   
                   
                 information 
               
               
                   
                 91 
                 Type of SMC address 
                 hex-byte 
               
               
                   
                 13 26 04 00 
                 SMSC number 
                 decimal 
               
               
                   
                 00 F0 
                   
                 semi-bytes  b   
               
               
                   
                 04 
                 First byte of this 
                 hex-byte 
               
               
                   
                   
                 SMS-DELIVER message. 
               
               
                   
                 0B 
                 Lenght of the sender 
                 hex-byte 
               
               
                   
                   
                 address 
               
               
                   
                 91 
                 Type of address of 
                 hex-byte 
               
               
                   
                   
                 the Sender number 
               
               
                   
                 13 46 61 00 
                 Sender number 
                 decimal 
               
               
                   
                 89 F6 
                   
                 semi-bytes 
               
               
                   
                 00 
                 Protocol identifier 
                 hex-bytes 
               
               
                   
                 00 
                 Data encoding scheme 
                 hex-bytes 
               
               
                   
                 20 80 62 91 
                 Time stamp 
                 decimal 
               
               
                   
                 73 14 08 
                   
                 semi-bytes 
               
               
                   
                 0C 
                 Length of User data 
                 hex-bytes 
               
               
                   
                   
                 (SMS message) 
               
               
                   
                 C8 F7 1D 14 
                 User data, i.e. the 
                 8-bit bytes 
               
               
                   
                 96 97 41 F9 
                 message 
                 representing 
               
               
                   
                 77 FD 07 
                   
                 7-bit data 
               
               
                   
                   
               
            
           
         
       
     
     The table 1 illustrates the full content of a SMS message. The first step is to find the mobile service provider related to the sender of the message. In a similar fashion to IP address, it is possible to access services to obtain this information. The services can be an internal function hosted into the Internet service provider system or an external service proposing, while providing the mobile number, to respond with the mobile service provider identification. 
     Once the main mobile service provider has been identified, the Internet service provider system connects via a dedicated interface to the identified main mobile service provider. At least the mobile number is presented to the main mobile service provider as well as the intended location indicated by the user during the current session with the Internet service provider. In the case illustrated at the  FIGS. 2 a  and 2 b   , the user has indicated “Germany” as its current location. So the Internet service provider system requests the verification of the location and transmits the location “Germany” to the mobile service provider. In some instances, when only one country is authorized by the Internet service provider, it is not necessary to indicate the location by the user but simply confirm that he/she is currently in Germany (being the only country authorized by the Internet service provider). We therefore consider that obtaining an indicated location from the user is a simple confirmation of the question “are you presently in Germany?”. 
     The “location” is not limited to a country. Since the location obtained by the mobile service provider is the nearest mobile provider tower, the mobile service provider has a precise indication of the location of the mobile device. The location requested by the Internet service provider system can be a region (such as a US state, a german Land, a Swiss canton) or a town (such as Paris). 
     After having received the request by the Internet service provider, the mobile service provider extracts the mobile device number from the message and checks the current location related to this mobile device. The mobile service provider compares the current location with the one received by the Internet service provider. In case the location is the same, the mobile service provider simply responds by a “Yes”. In the other case, the mobile service provider simply responds by a “No”. 
     According to one embodiment, before accepting the request to compare the indicated location with the current location of the mobile device, the mobile service provider checks if a message has been duly sent to the Internet service provider system from the identified mobile device. Each message sent to a user of the network administrated by the mobile service provider is stored in a memory of the mobile service provider, at least for a given period. The data of the SMS message transmitted by the Internet service provider system allows the mobile service provider to retrieve the original message stored in its memory. If the same message is found, the request is accepted and the comparison is carried out. In the negative event, the request is denied. 
     An additional verification can optionally be performed by the mobile service provider based on the time and date of the message. Verification is accepted if the message is “fresh”, for example not older than a predefined duration, e.g. 30 minutes. The message data comprises a time stamp used for that purpose, which represents the time at which the message was sent. The mobile service provider can also limit the number of verifications per message to 1. For that purpose, the mobile service provider stores the fact that a verification has been carried out for this message. In case that an (or the same) Internet service provider system requests a verification for the same message, the request will be denied. 
     The present method to validate a location of a mobile user needs the active participation of the mobile service provider. It could be considered that this type of information is sensitive and not shared with any other organization. The user of the mobile device can give his authorization to transmit location related information to a third party. This authorization can be global, i.e. to any third party, or specific, selected among a list provided by the mobile service provider. 
     A third party willing (i.e. a Internet service provider) to obtain location related information from a mobile user can complete a registration with the mobile service provider. When the registration is completed, the third party receives credentials from the mobile service provider. It could in a form of user/password or a certificate. According to one embodiment, a certificate is generated by the mobile service provider and sent to the approved Internet service provider. At a later stage, when the Internet service provider is willing to request a verification by the mobile service provider, the ISP transmits its certificate with the request. The mobile service provider than verifies the certificate and if the certificate is valid, carry out the verification as explained before. 
     When the Internet service provider system receives the information from the mobile service provider, it can then decide, depending of the result of the verification, to grant or deny access to the service requested by the user.