Techniques for managing phone number-based user accounts
By creating hidden and visible contact addresses based on phone numbers, the complexity of user account creation in existing technologies is solved, enabling convenient registration and management of phone numbers and improving user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- APPLE INC
- Filing Date
- 2021-06-21
- Publication Date
- 2026-07-07
AI Technical Summary
In existing technologies, user account creation methods rely on alphanumeric usernames and email addresses, which makes user management complex and inconvenient, especially for users without email addresses, who cannot effectively create accounts using phone numbers.
By receiving user account requests based on phone numbers, verifying ownership of phone numbers, and creating hidden and visible contact addresses based on phone numbers, user accounts can access services under different states.
It simplifies the user account creation process, reduces the complexity of username management, ensures that all users can create and manage accounts using their phone numbers, and improves the user experience.
Smart Images

Figure CN115943623B_ABST
Abstract
Description
Technical Field
[0001] The described implementation scheme generally relates to managing telephone number-based user accounts. More specifically, the described implementation scheme relates to enabling users to register for user accounts based on their telephone numbers. Hidden and / or visible contact addresses based on the user's telephone number can then be assigned to user accounts to enable users to access different levels of services. Background Technology
[0002] Traditional methods for creating user accounts for services involve prompting users for an alphanumeric username and password. The expected alphanumeric username is often unavailable or invalid, forcing users to provide alternative alphanumeric usernames until one becomes available and valid. Therefore, over time, users must retrieve different usernames for different services they have registered for, which can be frustrating and difficult for effective user management. For example, users might have to frequently use a "Forgot User ID" hyperlink, which triggers a cumbersome credential verification process and only indicates the forgotten alphanumeric username.
[0003] It's worth noting that some services address this issue, at least in part, by allowing users to register accounts using their email addresses instead. Typically, a given service requires a user to prove they own an email address before creating an account based on that address, either by sending the user an email with a verification hyperlink or by asking the user to enter a code provided in an email sent to that address. This approach is advantageous because it almost guarantees that the user will not be affected by availability / verification issues when attempting to register an account using their email address.
[0004] Importantly, while email-based usernames have improved some of the problems associated with alphanumeric usernames, they do not alleviate any burden for individuals who wish to create user accounts based on their phone numbers. This shortcoming is quite common because many users do not have email addresses, while virtually all users have phone numbers. Thus, these users need to register an email address they have no interest in using.
[0005] Therefore, there is a need for an improved method for creating user accounts that mitigates the aforementioned problems associated with alphanumeric and email-based usernames. Summary of the Invention
[0006] The representative implementation proposed in this paper discloses various technologies for enabling users to register user accounts based on their phone numbers.
[0007] One implementation proposes a method for managing telephone number-based user accounts. According to some implementations, the method can be implemented at a server computing device and includes the following steps: (1) receiving a request from a first client computing device to create a user account based on a telephone number; (2) in response to verifying that the first client computing device is associated with a telephone number: creating a user account based on the telephone number, creating a hidden contact address based on the telephone number, and assigning the hidden contact address to the user account; and (3) in response to receiving a notification that a second client computing device is associated with a telephone number: requesting that the user account be updated to be based on a different telephone number, or assigning a visible contact address based on the telephone number to the user account.
[0008] Other embodiments include a non-transitory computer-readable storage medium configured to store instructions that, when executed by a processor included in a computing device, cause the computing device to perform steps of any of the methods described above. Further embodiments include a computing device configured to perform various steps of any of the methods described above.
[0009] Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings which illustrate the principles of the described embodiments by way of example. Attached Figure Description
[0010] This disclosure will be more readily understood from the following detailed description taken in conjunction with the accompanying drawings, wherein similar reference numerals denote similar structural elements.
[0011] Figure 1 Block diagrams are shown of different computing devices that can be configured to implement different aspects of the various technologies described herein, according to some implementation schemes.
[0012] Figures 2A to 2D A conceptual diagram is shown for establishing a user account at a client computing device, according to some implementation schemes.
[0013] Figures 3A to 3B Methods for creating and managing telephone number-based user accounts are shown according to some implementation schemes.
[0014] Figure 4 A method for determining whether a user possesses a User Identity Module (SIM) associated with a telephone number, based on a code-based technique according to some implementations, is shown.
[0015] Figure 5 A method for determining whether a user has a SIM card associated with a phone number, based on query-based techniques according to some implementation schemes, is shown.
[0016] Figure 6Detailed views of computing devices that can be configured to implement the various technologies described herein, according to some implementation schemes, are shown. Detailed Implementation
[0017] This section describes representative applications of the methods and apparatus according to this application. These examples are provided only to add context and aid in understanding the described embodiments. Therefore, it will be apparent to those skilled in the art that the described embodiments can be practiced without some or all of these specific details. In other instances, well-known processing steps have not been described in detail to avoid unnecessarily obscuring the embodiments. Other applications are possible, such that the following examples should not be considered limiting.
[0018] In the following detailed description, reference is made to the accompanying drawings, which form part of this specification, and specific embodiments according to the described embodiments are illustrated by way of example. While these embodiments are described in sufficient detail to enable those skilled in the art to practice them, it should be understood that these examples are not limiting; other embodiments can be used, and modifications can be made without departing from the spirit and scope of the described embodiments.
[0019] Figure 1 A block diagram 100 is shown of one or more server computing devices 150 that can be configured to implement aspects of the technologies described herein. According to some embodiments, each server computing device 150 may represent any form of computing device, such as a smartphone, tablet, wearable device, desktop computing device, rack-mounted computing device, etc. It should be noted that the foregoing examples are not intended to be limiting. Rather, each server computing device 150 may represent any form of computing device without departing from the scope of this disclosure. Although not explicitly stated... Figure 1 As explicitly shown, but a given server computing device 150 may include at least one processor, at least one memory, and at least one storage device, which may work together to enable the server computing device 150 to implement the various technologies proposed in this disclosure.
[0020] According to some implementation plans and such Figure 1As shown, server computing device 150 can be configured to manage a collection of user accounts 152, wherein each user account 152 may include a phone number 154. According to some embodiments, the phone number 154 for a given user account 152 represents the username attribute of the user account 152 and is based on the user's phone number. For example, the phone number 154 may represent a string value representing the text of the user's phone number (e.g., "111-222-3333"). Alternatively, the phone number 154 may represent a numerical value representing the numeric representation of the user's phone number (e.g., 111222333). It should be noted that the foregoing examples are not intended to be limiting, and any method may be used to store the user's phone number without departing from the scope of this disclosure. Additionally, each user account 152 may include a password 156, which represents any type of value (e.g., string, number, etc.) used to store the user password for the user account 152.
[0021] like Figure 1 As shown, each user account 152 may include a hidden contact address 158 based on a telephone number 154. Establishing a hidden contact address 158 for a given user account 152 places the user account 152 in a "not exposed" state, which allows any client computing device 102 logged in using user account 152 to participate in a subset of services 170 implemented by or accessible to the server computing device 150. According to some implementations, the subset of services 170 may omit any service 170 within service 170 that has an external alternative scheme that typically uses a telephone number as the basis for addressing / routing communication. The subset of services 170 may include, for example, cloud storage services, photo sharing services, location services, etc. Conversely, the subset of services may omit, for example, audio and / or video services, messaging services, etc.
[0022] According to some implementations, each user account 152 may also include a visible contact address 160, which may be based on a telephone number 154 or on another form of contact associated with the user, such as another telephone number owned by the user, an email address belonging to the user, etc. According to some implementations, establishing a visible contact address 160 for a given user account 152 places the user account 152 in an "exposed" state, which allows any client computing device 102 logged in using the user account 152 to have higher-level access to services 170 compared to a subset of services 170 that can access hidden contact addresses 158 (as described above). Additional services 170 may include, for example, services 170 for which there are external alternatives that typically use telephone numbers as the basis for addressing / routing communication, such as audio and / or video services, messaging services, etc.
[0023] It should be noted that the following is combined with Figures 2A to 2D and 3A to Figure 3BA more detailed description of hidden and visible contact addresses and how they affect the services available to user accounts.
[0024] According to some implementations, server computing device 150 may be configured to communicate with one or more client computing devices 102. Each client computing device 102 may represent any form of computing device, such as a smartphone, tablet computer, wearable device, desktop computing device, rack-mounted computing device, etc. It should be noted that the foregoing examples are not intended to be limiting, and each client computing device 102 may represent any form of computing device without departing from the scope of this disclosure. Again, and although not explicitly stated... Figure 1 As explicitly shown, but to be understood, the client computing device 102 may include at least one processor, at least one memory, and at least one storage device to enable the client computing device 102 to interact with the server computing device 150, thereby enabling the implementation of the various technologies proposed in this disclosure.
[0025] like Figure 1 As shown, each client computing device 102 can manage a user account 110 corresponding to one of the user accounts 152 managed by the server computing device 150. A user account 110 can be created on the client computing device 102 by performing a new user account 152 registration process or by providing credentials for an existing user account 152. The new user account 152 registration process may involve, for example, one or more server computing devices 150 creating a user account 152 for a user, and the client computing device 102 creating a user account 110 corresponding to the newly created user account 152. Alternatively, the existing user account 152 login process may involve, for example, the user providing login credentials (e.g., phone number 154 and password 156) for the existing user account 152 to the server computing device 150. When the login credentials are verified, the client computing device 102 can create a user account 110 corresponding to the existing user account 152. Note that the following is in conjunction with... Figures 2A to 2D and 3A to Figure 3B A more detailed description of the user account creation / login process.
[0026] Furthermore, as Figure 1 As shown, each client computing device 102 can be configured to implement a service 112 configured to interact with a service 170 provided by the server computing device 150. For example, service 112 may represent a client-side implementation (e.g., an application, daemon, etc.) corresponding to a server-side implementation and enabling users of the client computing device 102 to access service 170. Each client computing device 102 may also be configured to locally execute one or more applications 114, such as a photo application, an email application, a contact application, etc.
[0027] Additionally, each client computing device 102 may include one or more Subscriber Identity Modules (SIMs) 130. According to some embodiments, one or more SIMs 130 may represent a physical / removable SIM card (e.g., a 2FF, 3FF, 4FF, etc. SIM card) inserted into a corresponding receiver compartment included in the client computing device 102. Furthermore, one or more SIMs 130 may represent an Electronic Universal Integrated Circuit Card (eUICC) capable of managing one or more electronic (i.e., virtual / non-physical) Subscriber Identity Modules (eSIMs). In any case, each SIM 130 is typically associated with a telephone number that enables the client computing device 102 to access wireless services provided by the corresponding mobile network operator (MNO) associated with the SIM 130. According to some embodiments, and described in more detail herein, the SIM 130 enables users to prove their initial and continuing ownership of the telephone number bound to the user account 152.
[0028] therefore, Figure 1 A high-level overview of different hardware / software architectures that can be implemented by server computing device 150 and client computing device 102 to carry out the various technologies described herein is shown. It should be noted that the implementations described herein are not limited to a single server computing device 150 and client computing device 102 interacting with each other. Rather, any number of server computing devices 150 can be configured to implement the technologies proposed herein, either wholly or partially, and can be configured to communicate with any number of client computing devices 102. Additionally, it should be noted that the service 170 described herein can be implemented by server computing device 150 (in whole or in part) or by… Figure 1 The components not shown are configured to implement one or more of service 170 (in whole or in part). Figure 1 Other services, not shown, are implemented using other computing devices. Next, Figures 2A to 2D , Figures 3A to 3B and Figures 4 to 6 (As detailed below) Exemplary concepts and method diagrams are presented for a server computing device 150 to manage telephone number-based user accounts according to the techniques presented herein.
[0029] Figures 2A to 2D A conceptual diagram is shown for establishing a user account 152 via a client computing device 102, according to some implementation schemes. It should be noted that... Figures 2A to 2D The user interface provided herein is not intended to limit in any way, and any form of user interface and any process may be implemented to realize the techniques presented herein without departing from the scope of this disclosure.
[0030] Figure 2AA conceptual diagram 200 shows a first user interface for creating a new user account 152 using a server computing device 150. (See diagram 200 for more details.) Figure 2A As shown, the first user interface allows a phone number to be entered and used as the basis for creating a new user account 152, such as "111-222-3333". According to some implementations, the phone number field can be automatically populated to include a phone number, for example, by detecting SIM 130 information accessible to the customer's computing device 102. Also... Figure 2A As shown, the first user interface also allows users to enter and verify the desired password for a new user account 152. After entering the information, a "Submit" button can be selected to transmit the phone number / password information to the server computing device 150.
[0031] Figure 2B A conceptual diagram 210 of a second user interface is shown for verifying that a phone number provided by client computing device 102 is one of the phone numbers currently owned by client computing device 102. This may involve, for example, server computing device 150 transmitting a temporary code to the phone number, wherein the received certificate serves as proof that client computing device 102 can access the phone number. Various techniques can be used to verify the phone number without departing from the scope of this disclosure, including combinations thereof. Figures 4 to 5 A more detailed description of code-based and query-based techniques.
[0032] Figure 2C A conceptual diagram 220 of a third user interface is shown, displaying confirmation of the creation of a new user account 152. This confirmation can occur after the creation of the new user account 152, where the phone number “111-222-3333” is assigned to the new user account 152's phone number 154, a password is assigned to the new user account 152's password 156, and the phone number “111-222-3333” is assigned to the new user account 152's hidden contact address 158. As described herein, at this point, the new user account 152 is in an “unexposed” state, enabling the client computing device 102 to participate in a subset of services implemented by or accessible by service 170. Again, the subset of service 170 may omit services that typically utilize phone numbers as the basis for addressing / routing communication (e.g., audio and / or video services, messaging services, etc.).
[0033] According to some implementations, a new user account 152 (although in an unexposed state) may be allowed limited access to omitted services 170 when one or more conditions are met. Specifically, the new user account 152 may be allowed to send communications via audio and / or video services, messaging services, and / or other services, provided that the communication is addressed to other user accounts 152 with which the new user account 152 is authorized to communicate. Such authorized user accounts 152 may include, for example, a family group of user accounts 152 in which the new user account 152 and at least one other user account 152 are members. This method allows, for example, parents and children to communicate with each other using their respective telephone numbers 154, while preventing children from receiving communications from other user accounts 152 that are not part of the group (via their respective telephone numbers 154).
[0034] It should be noted that the group of user account 152 is not limited to a home group, and any group of user account 152 may be created without departing from the scope of this disclosure. For example, a group of user account 152 may be created for a business so that user account 152 can communicate with each other using their respective telephone numbers 154, while preventing user account 152 from communicating with other user account 152 that does not belong to the group (via their respective telephone numbers 154).
[0035] Now return to Figure 2C It should be noted that in many cases, users may wish to use their phone number to participate in the omitted service 170. Therefore, the third user interface also enables new user accounts 152 to transition to an "exposed" state that allows client computing devices 102 to participate in such omitted services 170. Figure 2C In this scenario, assuming the user selects "Yes" to the prompt, this causes the server computing device 150 to create a visible contact address 160 based on the phone number and associate the visible contact address 160 with the new user account 152. Figure 2D The concept diagram 230 of the fourth user interface, which displays confirmation of account 152's transition to the "exposed" state, shows the successful confirmation of this process.
[0036] Additionally, it should be noted that the client computing device 102 may take appropriate actions during the user account 152 creation / management process to create / manage peer user accounts 110 that supplement the user account 152 managed by the server computing device 150. For example, Figure 2C This could involve client computing device 102 creating peer user account 110 in a "not exposed" state, while Figure 2D This may involve updating the peer user account 110 on the client computing device 102 to indicate that it is in an "exposed" state. This update may, for example, enable additional user interfaces available only to the "exposed" user account for registering with and participating in the service 170.
[0037] Figures 3A to 3B A method 300 for creating and managing telephone number-based user accounts is shown according to some implementation schemes. For example... Figure 3A As shown, method 300 begins at step 302, where server computing device 150 receives a request from first client computing device 102 to create a user account 152 based on a telephone number. According to some embodiments, in response to a user of first client computing device 102 wishing to access one or more services 170, first client computing device 102 may provide that request. For example, a user of first client computing device 102 may wish to enable data stored on first client computing device 102 to be backed up to cloud storage included in service 170. In another example, a user of first client computing device 102 may wish to enable first client computing device 102 to receive communications (e.g., video, audio, text, etc.) provided by a communication platform included in service 170. In yet another example, a user of first client computing device 102 may wish to enable first client computing device 102 to share photos with friends and family via a photo-sharing service implemented or accessible by service 170.
[0038] At step 304, server computing device 150 determines whether first client computing device 102 is associated with the phone number. According to some embodiments, server computing device 150 and first client computing device 102 can participate in communications that effectively enable server computing device 150 to verify that the phone number can be accessed by first client computing device 102 (and may be owned by a user). The following is in conjunction with… Figures 4 to 5 A more detailed description of the techniques that can be used to make such determinations is provided. If, at step 304, the server computing device 150 determines that the client computing device is associated with a telephone number, then method 300 proceeds to step 306. Otherwise, method 300 may restart or terminate entirely at step 302.
[0039] At step 306, server computing device 150 creates user account 152 based on a telephone number. According to some embodiments, creating user account 152 may involve assigning a telephone number 154 to user account 152. Creating user account 152 may also involve assigning a password (e.g., a password provided by the user, a password generated by the first client computing device 102, etc.) to user account 152 as password 156.
[0040] At step 308, server computing device 150 assigns a hidden contact address 158 based on a telephone number to user account 152. According to some embodiments, the execution of step 308 places user account 152 in a “non-exposed” state, enabling the first client computing device 102 to participate in a subset of services 170. According to some embodiments and as previously described herein, the subset of services may omit any service 170 that contains an external alternative scheme that typically utilizes telephone numbers as the basis for addressing / routing communication. Consider, for example, a messaging service implemented by service 170, which enables users to message each other using their telephone numbers. This messaging service is similar to Short Message Service (SMS) / Multimedia Messaging Service (MMS) implemented by a mobile network operator (MNO), as they also enable users to send messages to each other using their telephone numbers. Also consider, for example, a voice communication service (e.g., Voice over Internet Protocol) implemented by service 170, which enables users to make audio / video phone calls using their telephone numbers. This voice communication service is similar to a service that an MNO typically provides to its users by utilizing their respective telephone numbers.
[0041] Now go to Figure 3B At optional step 309, server computing device 150 receives a request from first client computing device 102 to create a visible contact address 160 based on a telephone number, effectively transitioning user account 152 from an "unexposed" state to an "exposed" state. According to some implementations, this request may be combined with a request to access information not included in the above combination. Figure 3A The first client computing device 102 generates the service 170 (e.g., the service 170 that typically uses telephone numbers as the basis for addressing / routing communication) from the subset of services described in step 308.
[0042] At optional step 310, server computing device 150 determines whether first client computing device 102 is associated with the phone number. This determination may need to be re-performed because first client computing device 102 may issue a request even if it no longer owns the phone number. Consider, for example, a scenario where a user account 152 is created using a phone number associated with first client computing device 102 (e.g., as described above in conjunction with...). Figure 3A(as described in steps 302 to 306). Subsequently, the first client computing device 102 is associated with the new phone number (e.g., switching to a new SIM card, providing a new eSIM, etc.), but the user account 152 is still assigned to that phone number. In this scenario, when attempting to assign the visible contact address 160 to the user account 152 based on the phone number, the attempt should be rejected because it is not suitable for directing communication (specifically, communication via service 170 with an external alternative) to the first client computing device 102, assuming it is no longer associated with the phone number.
[0043] Therefore, if at step 310 the server computing device 150 determines that the first client computing device 102 is associated with a telephone number, then method 300 proceeds to step 311, where the server computing device 150 assigns a visible contact address 160 to the user account 152 based on the telephone number. Otherwise, the server computing device 150 rejects the request, and method 300 proceeds to... Figure 3A Step 312.
[0044] exist Figure 3A At step 312, the server computing device 150 receives the second client computing device 102 (i.e., in conjunction with the above). Figures 3A to 3B The notification, associated with a telephone number, is sent to the first client computing device 102 (or a different client computing device). More specifically, the notification indicates that the user of the second client computing device 102 now has access to the telephone number and that the user of the second client computing device may own the telephone number. This can occur, for example, when the second client computing device 102 has a SIM card assigned to the telephone number, or when the second client computing device 102 is equipped with an eSIM assigned to the telephone number, etc. In any case, the notification indicates a conflict that the server computing device 150 should seek to resolve.
[0045] At step 314, server computing device 150 determines whether the user associated with first client computing device 102 still owns the phone number. In one example, first client computing device 102 and second client computing device 102 may be owned by the same user, where the user simply swaps a physical SIM card (associated with the phone number) from first client computing device 102 to second client computing device 102, or where an eSIM (associated with the phone number) is re-provided from first client computing device 102 to second client computing device 102. This typically occurs when a user upgrades to second client computing device 102 while retaining ownership of first client computing device 102. In another example, first client computing device and second client computing device 102 are owned by different users, and a phone number that was assigned to first client computing device 102 at some point has been assigned to second client computing device 102. This can occur, for example, when a phone number is deassociated from first client computing device 102, returned to the pool of available phone numbers, and subsequently assigned to second client computing device 102.
[0046] In any case, at step 314, the server computing device 150 determines whether the user of the first client computing device 102 still possesses the phone number. Again, in conjunction with... Figures 4 to 5 A more detailed description of the techniques that can be used to make such determinations is provided. If, at step 314, the server computing device 150 determines that the user of the first client computing device 102 no longer owns the phone number, the method proceeds to step 316.
[0047] At step 316, server computing device 150 updates user account 152 based on a different phone number. According to some embodiments, step 316 may involve server computing device 150 removing any visible contact address 160 from user account 152, and subsequently re-executing the above-described combination. Figures 3A to 3B Steps 302 to 311 are described to effectively assign different phone numbers to user account 152. This may also involve updating user account 110 corresponding to user account 152 on the first client computing device 102 and any other client computing device 102 logged in using user account 152, so that user account 110 is effectively assigned to different phone numbers.
[0048] Alternatively, if at step 314 the server computing device 150 determines that the user of the first client computing device 102 still owns the phone number, i.e., the user owns at least one client computing device 102 assigned to the phone number, then method 300 proceeds to optional step 318. At optional step 318, the server computing device 150 assigns a visible contact address 160 based on the phone number to the user account 152. This configuration is useful to the user because the first client computing device 102 is able to use the phone number initially assigned to it to participate in services 170 that are normally inaccessible to the "unexposed" user account 152 (specifically, via communication on a platform with an external alternative), even though the first client computing device 102 no longer owns a SIM or eSIM associated with the phone number. For example, the user can use the aforementioned service 170 to receive voice / video calls and text messages addressed to the phone number on both the first and second client computing devices 102.
[0049] Figure 4 A method 400 for determining whether a user possesses a SIM card associated with a telephone number, based on code-based techniques according to some implementation schemes, is shown. Figure 4 As shown, method 400 begins at step 402, where server computing device 150 sends an SMS message (e.g., a text message) including a temporary code to a telephone number. According to some embodiments, client computing device 102, including a SIM, may receive the text message via a Short Message Service (SMS) provided by a mobile network operator (MNO) associated with the SIM.
[0050] At step 404, server computing device 150 receives a response code from client computing device 102 associated with the phone number. According to some embodiments, the response code may be entered by the user of client computing device 102 into a prompt issued by server computing device 150, for example, in conjunction with the above. Figure 3A The verification step 304 is associated with this. Alternatively, the client computing device 102 may automatically identify temporary codes within the text message and provide them to the server computing device 150 to simplify the verification process.
[0051] At step 406, server computing device 150 determines whether the temporary code matches the response code. If, at step 406, server computing device 150 determines that the temporary code matches the response code, method 400 proceeds to step 408, where server computing device 150 verifies that the user of client computing device 102 owns the phone number. Otherwise, method 400 proceeds to step 410, where server computing device 150 indicates that it cannot verify that the user owns the phone number. This may involve, for example, causing client computing device 102 to display a message indicating verification failure. According to some embodiments, client computing device 102 may be allowed to retry the verification threshold number of times, which may involve re-providing the temporary code or attempting to verify one or more updated temporary codes (by re-executing steps 402 to 406 above).
[0052] Figure 5 A method 500 for determining whether a user possesses a SIM card associated with a phone number, based on query-based techniques according to some implementation schemes, is shown. Figure 5 As shown, method 500 begins at step 502, where server computing device 150 causes client computing device 102 to provide information associated with a User Identity Module (SIM) accessible to client computing device 102 (e.g., a specific SIM 130 accessible to client computing device 102). According to some implementations, client computing device 102 may query SIM 130 for credentials proving that client computing device 102 possesses SIM 130. For example, SIM 130 may be associated with a public / private key pair, where the public key is known to server computing device 150 (e.g., through a certification authority), but the private key is known only to SIM 130. In this example, server computing device 150 may cause client computing device 102 / SIM 130 to respond to a random value challenge, which may involve encrypting a random value using the private key to generate an encrypted random value.
[0053] At step 504, the server computing device 150 analyzes the information to determine its authenticity. Continuing the previous example, step 504 may involve the server computing device 150 using a public key to decrypt the encrypted random value to generate (and subsequently verify) the decrypted random value.
[0054] At step 506, server computing device 150 determines whether the information is authentic and trustworthy. Continuing the previous example, step 506 may involve server computing device 150 verifying whether the decrypted random value matches the initial random value provided with the challenge. If at step 506, server computing device 150 determines that the information is authentic and trustworthy, then method 500 proceeds to step 508, where server computing device 150 verifies that the user of the client computing device owns the phone number. Otherwise, at step 510, server computing device 150 indicates that it cannot verify that the user owns the phone number. This may involve, for example, causing client computing device 102 to display a message indicating verification failure. According to some embodiments, client computing device 102 may be allowed to retry the verification threshold number of times, which may involve retrying the challenge (by re-executing steps 502 to 506 above).
[0055] It should be noted that the above text is combined with... Figures 4 to 5 The verification techniques described are not mutually exclusive, and any combination of these techniques may be used to verify ownership of a telephone number without departing from the scope of this disclosure.
[0056] Figure 6 Detailed views of a computing device 600 according to some embodiments are shown, which may represent various techniques for implementing the techniques described herein. Figure 1 Different computing devices. For example, detailed views illustrate those that may be included in the above description. Figure 1 The various components in the client computing device 102 and the server computing device 150. For example... Figure 6 As shown, computing device 600 may include at least one processor 602 representing a microprocessor or controller for controlling the overall operation of computing device 600. Computing device 600 may also include a user input device 608 that allows a user of computing device 600 to interact with computing device 600. For example, user input device 608 may take various forms, such as buttons, keypads, dial pads, touchscreens, audio input interfaces, visual / image capture input interfaces, sensor data input, etc. Additionally, computing device 600 may include a display 610, which may be controlled by at least one processor 602 (e.g., via a graphics component) to display information to a user. Data bus 616 facilitates data transfer between at least one storage device 640, at least one processor 602, and controller 613. Controller 613 can be used to interface with and control different devices via equipment control bus 614. Computing device 600 may also include a network / bus interface 611 coupled to data link 612. In the case of wireless connectivity, network / bus interface 611 may include a wireless transceiver.
[0057] As described above, computing device 600 also includes at least one storage device 640, which may include a single disk (e.g., a hard disk) or a collection of disks. In some embodiments, at least one storage device 640 may include flash memory, semiconductor (solid-state) memory, etc. Computing device 600 may also include at least one random access memory (RAM) 620 and at least one read-only memory (ROM) 622. At least one ROM 622 may store executable programs, utilities, or processes in a non-volatile manner. At least one RAM 620 may provide volatile data storage and may store instructions related to the operation of an application running on computing device 600.
[0058] Various aspects, embodiments, specific implementations, or features of the described implementation scheme may be used individually or in any combination. Various aspects of the described implementation scheme may be implemented by software, hardware, or a combination of hardware and software. The implementation scheme may also be implemented as computer-readable code on a computer-readable medium for controlling production operations, or as computer-readable code on a computer-readable medium for controlling a production line. The computer-readable medium is any data storage device capable of storing data that can subsequently be read by a computer system. Examples of computer-readable media include read-only memory, random access memory, CD-ROM, HDD, DVD, magnetic tape, and optical data storage devices. The computer-readable medium may also be distributed across network-coupled computer systems, such that the computer-readable code is stored and executed in a distributed manner.
[0059] For illustrative purposes, the foregoing description uses specific names to provide a thorough understanding of the described embodiments. However, it will be apparent to those skilled in the art that specific details are not required to practice the described embodiments. Therefore, the foregoing description of specific embodiments is presented for illustrative and descriptive purposes. The foregoing description is not intended to be exhaustive or to limit the described embodiments to the precise forms disclosed. It will be apparent to those skilled in the art that many modifications and variations are possible in light of the teachings above.
Claims
1. A method for managing telephone number-based user accounts, the method comprising, at a server computing device: Receive a request from the first client computing device to create a user account based on a phone number; Verify that the first client computing device is associated with the phone number; Create the user account based on the phone number; A hidden contact address is created based on the phone number, wherein the hidden contact address allows the first client computing device to access only a subset of services that would normally be accessible using a visible contact address based on the phone number; Assign the hidden contact address to the user account; as well as In response to receiving a notification from a second client computing device associated with the telephone number: The user account is required to be updated based on a different phone number, or Assign the visible contact address to the user account.
2. The method of claim 1, wherein requiring the user account based on the different phone numbers includes: Remove the phone number from the user account; Associate the different phone numbers with the user account; A second hidden contact address is created based on the different phone numbers; as well as Assign the second hidden contact address to the user account.
3. The method of claim 1, wherein assigning the user account to the visible contact address comprises: The visible contact address is created based on the phone number; as well as Assign the visible contact address to the user account.
4. The method of claim 1, wherein the subset of services includes: Including client computing device recovery services and / or cloud sharing services, and This excludes both message-based communication services and audio / video-based communication services.
5. The method of claim 1, wherein the visible contact address enables the first client computing device to access services including one or more of the following: Client computing device service restored. Cloud sharing services Message-based communication services, or Audio / video based communication services.
6. The method of claim 1, wherein verifying that the first client computing device is bound to the telephone number comprises: Receive a first verification associated with the phone number from a user identity module accessible by the first client computing device; And / or The first client computing device receives a second verification code for receiving short message service codes.
7. The method of claim 1, wherein the notification, in which the second client computing device is reliably bound to the telephone number, is received in response to: Receive, from the second client computing device, a first verification associated with the telephone number by a user identity module accessible by the second client computing device; and / or The second client computing device receives the short message service code received from the second client computing device as a second verification.
8. A computing device configured to manage telephone number-based user accounts, the computing device comprising: A component for receiving a request from a first client computing device to create a user account based on a telephone number; Components used to verify the association between the first client computing device and the telephone number; Components used to create the user account based on the phone number; A component for creating a hidden contact address based on the phone number, wherein the hidden contact address allows the first client computing device to access only a subset of services that would normally be accessible using a visible contact address based on the phone number; Components used to assign the hidden contact address to the user account; as well as Components for performing the following operations in response to receiving a notification from a second client computing device associated with the telephone number: The user account is required to be updated based on a different phone number, or Assign the visible contact address to the user account.
9. The computing device of claim 8, wherein requiring the user account to be based on the different telephone numbers includes: Remove the phone number from the user account; Associate the different phone numbers with the user account; A second hidden contact address is created based on the different phone numbers; as well as Assign the second hidden contact address to the user account.
10. The computing device of claim 8, wherein assigning the user account to the visible contact address comprises: The visible contact address is created based on the phone number; as well as Assign the visible contact address to the user account.
11. The computing device of claim 8, wherein the service is a subset of: Including client computing device recovery services and / or cloud sharing services, and This excludes both message-based communication services and audio / video-based communication services.
12. The computing device of claim 8, wherein the visible contact address enables the first client computing device to access services including one or more of the following: Client computing device service restored. Cloud sharing services Message-based communication services, or Audio / video based communication services.
13. The computing device of claim 8, wherein verifying that the first client computing device is bound to the telephone number comprises: Receive a first verification associated with the phone number from a user identity module accessible by the first client computing device; And / or The first client computing device receives a second verification code for receiving short message service codes.
14. The computing device of claim 8, wherein the notification, in which the second client computing device is reliably bound to the telephone number, is received in response to: Receive, from the second client computing device, a first verification associated with the telephone number by a user identity module accessible by the second client computing device; and / or The second client computing device receives the short message service code received from the second client computing device as a second verification.
15. A computing device configured to manage telephone number-based user accounts, the computing device comprising: At least one processor; and At least one memory; A storage instruction, which, when executed by the at least one processor, causes the computing device to perform the following steps: Receive a request from the first client computing device to create a user account based on a phone number; Verify that the first client computing device is associated with the phone number; Create the user account based on the phone number; A hidden contact address is created based on the phone number, wherein the hidden contact address allows the first client computing device to access only a subset of services that would normally be accessible using a visible contact address based on the phone number; Assign the hidden contact address to the user account; as well as In response to receiving a notification from a second client computing device associated with the telephone number: The user account is required to be updated based on a different phone number, or Assign the visible contact address to the user account.
16. The computing device of claim 15, wherein requiring the user account to be based on the different telephone numbers includes: Remove the phone number from the user account; Associate the different phone numbers with the user account; A second hidden contact address is created based on the different phone numbers; as well as Assign the second hidden contact address to the user account.
17. The computing device of claim 15, wherein assigning the user account to the visible contact address comprises: The visible contact address is created based on the phone number; as well as Assign the visible contact address to the user account.
18. The computing device of claim 15, wherein the service is a subset of: Including client computing device recovery services and / or cloud sharing services, and This excludes both message-based communication services and audio / video-based communication services.
19. The computing device of claim 15, wherein the visible contact address enables the first client computing device to access services including one or more of the following: Client computing device service restored. Cloud sharing services Message-based communication services, or Audio / video based communication services.
20. The computing device of claim 15, wherein verifying that the first client computing device is bound to the telephone number comprises: Receive a first verification associated with the phone number from a user identity module accessible by the first client computing device; And / or The first client computing device receives a second verification code for receiving short message service codes.