Cloud phone login method and device, storage medium and electronic equipment
By generating keys and encrypting phone numbers in the cloud phone client and server, the problem of cloud phones being unable to make calls was solved, and the calling function of cloud phones was realized.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA TELECOM CORP LTD GUANGDONG RESEARCH INSTITUTE
- Filing Date
- 2023-05-17
- Publication Date
- 2026-05-19
AI Technical Summary
Existing cloud phones cannot achieve VoLTE calling functionality and lack cloud phone numbers.
By receiving login requests from cloud phone clients, authentication is performed and a key is generated to establish communication. An encrypted cloud phone number is generated using the phone number and timestamp, enabling cloud phone login and making calls via the cloud phone number.
This enriches the functionality of cloud phones, enabling them to perform data services and make calls simultaneously after logging in, thus meeting the VoLTE call requirements.
Smart Images

Figure CN116633612B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communication technology, and more specifically, to a cloud phone login method, a cloud phone login device, a computer-readable storage medium, and an electronic device. Background Technology
[0002] With the rapid development of software and hardware, cloud technology has been applied in various fields, such as cloud phones. A cloud phone is a mobile phone that applies cloud computing technology to network terminal services, providing cloud services through cloud servers. Essentially, it's a smartphone deeply integrated with network services. These phones, through their built-in operating system and the network terminals provided by the manufacturer, can perform numerous functions via the internet.
[0003] However, in related technologies, cloud phones only allow users to access cloud phone servers through cloud phone clients and can only provide data services. Currently, cloud phones do not have corresponding cloud phone numbers and cannot enable VoLTE (Voice over Long-Term Evolution) calls with other mobile phones.
[0004] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this disclosure, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention
[0005] The purpose of this disclosure is to provide a cloud phone login method, a cloud phone login device, a computer-readable storage medium, and an electronic device, which can solve the problem that the cloud phone cannot achieve call functionality in related technologies.
[0006] Other features and advantages of this disclosure will become apparent from the following detailed description, or may be learned in part from practice of this disclosure.
[0007] According to a first aspect of this disclosure, a cloud phone login method is provided, comprising: receiving a cloud phone login request sent by a cloud phone client; authenticating the cloud phone client based on the cloud phone login request; wherein the cloud phone login request corresponds to a login timestamp, the authentication corresponds to an authentication protocol, the cloud phone login request corresponds to a mobile phone number, and the mobile phone number is assigned a cloud phone number; generating a first key in the cloud phone client and the cloud phone server according to the authentication protocol; establishing communication between the cloud phone client and the cloud phone server based on the first key; generating a second key in the cloud phone client and the cloud phone server based on the first key, the mobile phone number, and the login timestamp; encrypting the cloud phone number corresponding to the mobile phone number according to the second key and a cryptographic algorithm to obtain an encrypted cloud phone number; sending the encrypted cloud phone number to the cloud phone client, so that the cloud phone client decrypts the encrypted cloud phone number using the second key and the cryptographic algorithm to obtain the cloud phone number, thereby realizing cloud phone login and enabling call functionality via the cloud phone number.
[0008] In one exemplary embodiment of this disclosure, based on the aforementioned scheme, a third key is generated in the cloud phone client and the cloud phone server according to the first key and the cloud phone number; encrypted communication between the cloud phone client and the cloud phone server is established according to the third key.
[0009] In one exemplary embodiment of this disclosure, based on the aforementioned scheme, a key factor corresponds to a mobile phone number, and a second key is generated in the cloud mobile phone client and the cloud mobile phone server according to the first key, the mobile phone number, and the login timestamp, including: generating the second key in the cloud mobile phone client and the cloud mobile phone server according to the key factor, the first key, the mobile phone number, and the login timestamp.
[0010] In one exemplary embodiment of this disclosure, based on the aforementioned scheme, a fourth key is generated according to the second key, the cloud phone number, and a key factor; wherein the second key is an authentication key, and the fourth key is an integrity protection key; a fifth key is generated according to the second key, the phone number, and a key factor; wherein the fifth key is a communication key. The second key, the fourth key, and the fifth key are used to achieve authentication, integrity protection, and data encryption and decryption during communication between the cloud phone client and the cloud phone server.
[0011] In one exemplary embodiment of this disclosure, based on the aforementioned scheme, a cloud phone number corresponds to multiple phone numbers, and the method further includes: when logging into multiple cloud phone clients through multiple phone numbers, obtaining the priority corresponding to the multiple phone numbers; wherein, the multiple cloud phone clients correspond to cloud phone numbers; when implementing cloud phone applications through cloud phone numbers, determining the usage order of the multiple cloud phone clients according to the priority corresponding to the multiple phone numbers.
[0012] In one exemplary embodiment of this disclosure, based on the aforementioned scheme, the address book permissions corresponding to the mobile phone number are obtained; and the address book is synchronized to the cloud mobile client according to the address book permissions.
[0013] In one exemplary embodiment of this disclosure, based on the aforementioned scheme, a first call request is sent from a cloud phone client to a cloud phone server, and the cloud phone server sends a request signaling to the target terminal device via the cloud phone number; wherein, the first call request includes the target phone number; in response to the target terminal device's call confirmation action, the target terminal device sends a confirmation signaling to the cloud phone server; when the cloud phone server receives the confirmation signaling, the cloud phone server sends a ringing tone and call interface to the cloud phone client via streaming media; a call is established between the target terminal device and the cloud phone server, and audio and video media streams are transmitted between the cloud phone client and the cloud phone server via streaming media, thereby enabling the cloud phone client to... The process involves: a call between the client and the target terminal device; in response to a second call request from the target terminal device for the cloud phone number, the target terminal device sends a request signaling to the cloud phone server; wherein the second call request includes the cloud phone number; when the cloud phone server receives the request signaling from the target terminal device, the cloud phone server sends a call ringing and call interface to the cloud phone client via streaming media; in response to the cloud phone client's call confirmation action, the cloud phone server sends a confirmation signaling to the target terminal device; a call is established between the target terminal device and the cloud phone server, and audio and video media streams are transmitted between the cloud phone client and the cloud phone server via streaming media to realize the call between the cloud phone client and the target terminal device.
[0014] According to a second aspect of this disclosure, a cloud phone login device is provided, comprising: a login request receiving module, configured to receive a cloud phone login request sent by a cloud phone client, and authenticate the cloud phone client according to the cloud phone login request; wherein the cloud phone login request corresponds to a login timestamp, the authentication corresponds to an authentication protocol, the cloud phone login request corresponds to a mobile phone number, and the mobile phone number is assigned a cloud phone number; a first key generation module, configured to generate a first key in the cloud phone client and the cloud phone server according to the authentication protocol, and establish communication between the cloud phone client and the cloud phone server according to the first key; a second key generation module, configured to generate a second key in the cloud phone client and the cloud phone server according to the first key, the mobile phone number, and the login timestamp; a cloud phone number encryption module, configured to encrypt the cloud phone number corresponding to the mobile phone number according to the second key and a cryptographic algorithm to obtain an encrypted cloud phone number; and a cloud phone number decryption module, configured to send the encrypted cloud phone number to the cloud phone client, so that the cloud phone client can decrypt the encrypted cloud phone number using the second key and a cryptographic algorithm to obtain the cloud phone number, thereby realizing cloud phone login and enabling call functionality via the cloud phone number.
[0015] According to a third aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the cloud phone login method of the first aspect of the above embodiments.
[0016] According to a fourth aspect of this disclosure, an electronic device is provided, comprising:
[0017] One or more processors; and
[0018] A storage device for storing one or more programs, which, when executed by one or more processors, cause the one or more processors to implement the cloud phone login method as described in the first aspect of the above embodiments.
[0019] The technical solutions provided in this disclosure may have the following beneficial effects:
[0020] In one embodiment of the cloud phone login method disclosed herein, a cloud phone client login request is received. The cloud phone client is authenticated based on the login request. A first key is generated in both the cloud phone client and the cloud phone server according to an authentication protocol. Communication between the cloud phone client and the cloud phone server is established based on the first key. A second key is generated in both the cloud phone client and the cloud phone server based on the first key, the phone number, and the login timestamp. The cloud phone number corresponding to the phone number is encrypted using the second key and a cryptographic algorithm to obtain an encrypted cloud phone number. The encrypted cloud phone number is sent to the cloud phone client, allowing the cloud phone client to decrypt the encrypted cloud phone number using the second key and the cryptographic algorithm. This enables cloud phone login and allows call functionality via the cloud phone number. Through this solution, a cloud phone number can be configured for the cloud phone client. After cloud phone login, data services can be performed via the cloud phone, while call functionality can be achieved via the cloud phone number, enriching the functionality of the cloud phone.
[0021] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0022] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort. In the drawings:
[0023] Figure 1The schematic diagram illustrates an exemplary system architecture of the cloud phone login method in an exemplary embodiment of the present disclosure;
[0024] Figure 2 This schematically illustrates a flowchart of a cloud phone login method in an exemplary embodiment of this disclosure;
[0025] Figure 3 This schematically illustrates a flowchart of an encrypted communication process between a cloud mobile client and a cloud mobile server based on a third key, as described in an exemplary embodiment of this disclosure.
[0026] Figure 4 This schematically illustrates a flowchart of the authentication, integrity protection, and data encryption and decryption processes implemented in the communication between the cloud mobile client and the cloud mobile server based on the second key, the fourth key, and the fifth key in an exemplary embodiment of this disclosure.
[0027] Figure 5 This schematically illustrates a flowchart of determining the usage order of multiple cloud phone clients based on the priority of multiple phone numbers when implementing a cloud phone application via a cloud phone number in an exemplary embodiment of this disclosure.
[0028] Figure 6 This schematically illustrates a flowchart of synchronizing contacts with a cloud mobile client based on contact permissions in an exemplary embodiment of this disclosure;
[0029] Figure 7 This schematically illustrates a flowchart of a cloud phone login method according to an exemplary embodiment of the present disclosure;
[0030] Figure 8 This illustration schematically shows a flowchart of a cloud mobile client requesting a call from a target terminal device in an exemplary embodiment of this disclosure;
[0031] Figure 9 This illustration schematically shows a flowchart of a target terminal device requesting a call from a cloud mobile client in an exemplary embodiment of this disclosure;
[0032] Figure 10 This schematic diagram illustrates a cloud phone system according to an exemplary embodiment of the present disclosure;
[0033] Figure 11 This schematic diagram illustrates the composition of a cloud phone login device according to an exemplary embodiment of the present disclosure;
[0034] Figure 12 The schematic diagram illustrates a structural schematic of a computer system suitable for implementing an electronic device according to exemplary embodiments of the present disclosure. Detailed Implementation
[0035] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of this disclosure. However, those skilled in the art will recognize that the technical solutions of this disclosure can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., may be employed. In other instances, well-known structures, methods, apparatuses, implementations, materials, or operations are not shown or described in detail to avoid obscuring various aspects of this disclosure.
[0036] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, or in one or more software-hardened modules, or in different network and / or processor devices and / or microcontroller devices.
[0037] Figure 1 A schematic diagram of an exemplary system architecture for which the cloud phone login method of the present disclosure embodiments can be applied is shown.
[0038] like Figure 1 As shown, system architecture 1000 may include one or more of terminal devices 1001, 1002, and 1003, network 1004, and server 1005. Network 1004 is used as a medium to provide a communication link between terminal devices 1001, 1002, and 1003 and server 1005. Network 1004 may include various connection types, such as wired or wireless communication links or fiber optic cables, etc.
[0039] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included. For example, server 1005 could be a server cluster composed of multiple servers.
[0040] Users can use terminal devices 1001, 1002, and 1003 to interact with server 1005 via network 1004 to receive or send messages, etc. Terminal devices 1001, 1002, and 1003 can be various electronic devices with displays, including but not limited to smartphones, tablets, laptops, and desktop computers. Additionally, server 1005 can be a server providing various services.
[0041] In one embodiment, the execution entity of the cloud phone login method disclosed herein can be a server 1005. The server 1005 can obtain cloud phone login requests sent by terminal devices 1001, 1002, and 1003, authenticate the cloud phone client according to the cloud phone login request, generate a first key in the cloud phone client and the cloud phone server according to the authentication protocol, establish communication between the cloud phone client and the cloud phone server according to the first key, generate a second key in the cloud phone client and the cloud phone server according to the first key, the phone number, and the login timestamp, encrypt the cloud phone number corresponding to the phone number according to the second key and the cryptographic algorithm to obtain an encrypted cloud phone number, and send the encrypted cloud phone number to the cloud phone client so that the cloud phone client can decrypt the encrypted cloud phone number using the second key and the cryptographic algorithm to obtain the cloud phone number, thereby realizing cloud phone login and enabling call function through the cloud phone number.
[0042] In addition, the cloud phone login method disclosed herein can also be executed through terminal devices 1001, 1002, 1003, etc., to achieve the following: sending a cloud phone login request to the cloud phone server, generating a first key in the cloud phone client according to the authentication protocol, establishing communication between the cloud phone client and the cloud phone server based on the first key, generating a second key in the cloud phone client based on the first key, the phone number, and the login timestamp, receiving an encrypted cloud phone number, and decrypting the encrypted cloud phone number using the second key and a cryptographic algorithm to obtain the cloud phone number.
[0043] Furthermore, the cloud phone login method disclosed herein can also be implemented jointly by terminal devices 1001, 1002, and 1003 and server 1005. For example, terminal devices 1001, 1002, and 1003 can send a cloud phone login request to server 1005, so that server 1005 can authenticate the cloud phone client based on the login request, generate a first key in the cloud phone client and cloud phone server according to the authentication protocol, establish communication between the cloud phone client and cloud phone server based on the first key, generate a second key in the cloud phone client and cloud phone server based on the first key, mobile phone number, and login timestamp, encrypt the cloud phone number corresponding to the mobile phone number according to the second key and cryptographic algorithm to obtain an encrypted cloud phone number, and send the encrypted cloud phone number to the cloud phone client, so that the cloud phone client can decrypt the encrypted cloud phone number using the second key and cryptographic algorithm to obtain the cloud phone number, thereby realizing cloud phone login and enabling call function through the cloud phone number.
[0044] With the rapid development of software and hardware, cloud technology has been applied in various fields, such as cloud phones. A cloud phone is a mobile phone that applies cloud computing technology to network terminal services, providing cloud services through cloud servers. Essentially, it's a smartphone deeply integrated with network services. These phones, through their built-in operating system and the network terminals provided by the manufacturer, can perform numerous functions via the internet.
[0045] However, in related technologies, cloud phones only allow users to access cloud phone servers through cloud phone clients and can only provide data services. Currently, cloud phones do not have corresponding cloud phone numbers and cannot enable VoLTE calls with other mobile phones.
[0046] According to the cloud phone login method provided in this exemplary embodiment, a cloud phone login request sent by a cloud phone client can be received. The cloud phone client is authenticated based on the login request. A first key is generated in the cloud phone client and the cloud phone server according to the authentication protocol. Communication between the cloud phone client and the cloud phone server is established based on the first key. A second key is generated in the cloud phone client and the cloud phone server based on the first key, the phone number, and the login timestamp. The cloud phone number corresponding to the phone number is encrypted using the second key and a cryptographic algorithm to obtain an encrypted cloud phone number. The encrypted cloud phone number is sent to the cloud phone client, so that the cloud phone client can decrypt the encrypted cloud phone number using the second key and the cryptographic algorithm to obtain the cloud phone number, thereby realizing cloud phone login and enabling call functionality via the cloud phone number. Figure 2 As shown, the cloud phone login method may include the following steps:
[0047] Step S210: Receive a cloud phone login request sent by the cloud phone client, and authenticate the cloud phone client according to the cloud phone login request; wherein, the cloud phone login request corresponds to a login timestamp, the authentication corresponds to an authentication protocol, and the cloud phone login request corresponds to a mobile phone number.
[0048] Step S220: Generate a first key in the cloud mobile client and the cloud mobile server according to the authentication protocol, and establish communication between the cloud mobile client and the cloud mobile server according to the first key;
[0049] Step S230: Generate a second key in the cloud phone client and the cloud phone server based on the first key, the mobile phone number, and the login timestamp;
[0050] Step S240: Encrypt the cloud phone number corresponding to the phone number according to the second key and the cryptographic algorithm to obtain the encrypted cloud phone number;
[0051] Step S250: The encrypted cloud phone number is sent to the cloud phone client, so that the cloud phone client can decrypt the encrypted cloud phone number using the second key and cryptographic algorithm to obtain the cloud phone number, thereby enabling cloud phone login and making calls using the cloud phone number.
[0052] In one embodiment of the cloud phone login method disclosed herein, a cloud phone client login request is received. The cloud phone client is authenticated based on the login request. A first key is generated in both the cloud phone client and the cloud phone server according to an authentication protocol. Communication between the cloud phone client and the cloud phone server is established based on the first key. A second key is generated in both the cloud phone client and the cloud phone server based on the first key, the phone number, and the login timestamp. The cloud phone number corresponding to the phone number is encrypted using the second key and a cryptographic algorithm to obtain an encrypted cloud phone number. The encrypted cloud phone number is sent to the cloud phone client, allowing the cloud phone client to decrypt the encrypted cloud phone number using the second key and the cryptographic algorithm. This enables cloud phone login and allows call functionality via the cloud phone number. Through this solution, a cloud phone number can be configured for the cloud phone client. After cloud phone login, data services can be performed via the cloud phone, while call functionality can be achieved via the cloud phone number, enriching the functionality of the cloud phone.
[0053] The steps S210 to S250 of the cloud phone login method in this exemplary embodiment will now be described in more detail with reference to the accompanying drawings and embodiments.
[0054] Step S210: Receive the cloud phone login request sent by the cloud phone client, and authenticate the cloud phone client according to the cloud phone login request;
[0055] In one example embodiment of this disclosure, a cloud phone client can be received to log in to a cloud phone, and the cloud phone client can be authenticated based on the login request. The login request corresponds to a login timestamp, the authentication corresponds to an authentication protocol, and the login request corresponds to a mobile phone number. Specifically, a cloud phone client can be installed on the terminal device. When a user needs to log in to the cloud phone client, the cloud phone client can send a login request to the cloud phone server. This login request is used to log in to the cloud phone within the cloud phone client. After receiving the login request from the cloud phone client, the cloud phone server needs to authenticate the cloud phone client based on the login request.
[0056] Specifically, authenticating the cloud phone client based on the cloud phone login request refers to authenticating the user corresponding to the cloud phone client.
[0057] Specifically, when logging into the cloud phone client, authentication is required between the cloud phone server and the cloud phone client to ensure secure communication. Furthermore, there is an authentication protocol for this authentication process.
[0058] For example, authentication protocols can include password-based authentication protocols, digital certificate-based authentication protocols, token-based authentication protocols, single sign-on-authentication protocols, etc. Different authentication protocols are suitable for different application scenarios and security requirements.
[0059] It should be noted that this disclosure does not impose any special restrictions on the authentication method or the specific type of authentication agreement.
[0060] In one example embodiment of this disclosure, the cloud phone login request corresponds to a login timestamp, which can be used to indicate the time when the cloud phone client sends the cloud phone login request; the cloud phone login request corresponds to a mobile phone number, which can be used to indicate the mobile phone number of the terminal device corresponding to the cloud phone client that sends the cloud phone login request.
[0061] Step S220: Generate a first key in the cloud mobile client and the cloud mobile server according to the authentication protocol, and establish communication between the cloud mobile client and the cloud mobile server according to the first key;
[0062] In one exemplary embodiment of this disclosure, after authenticating the cloud phone client according to the cloud phone login request through the above steps, an authentication protocol can be obtained, and a first key can be generated in both the cloud phone client and the cloud phone server according to the authentication protocol. Specifically, the first key can be generated in both the cloud phone client and the cloud phone server according to the authentication protocol. The authentication protocol can be used for identity verification and key negotiation between the cloud phone client and the cloud phone server, and the first key generated through this protocol serves as a shared key between the two parties. This shared key can be used to enable communication between the cloud phone client and the cloud phone server.
[0063] In one exemplary embodiment of this disclosure, after generating a first key in both the cloud phone client and the cloud phone server through the aforementioned steps, communication between the cloud phone client and the cloud phone server can be established based on the first key. Specifically, after generating the first key, the cloud phone client and the cloud phone server can use this key to establish a secure communication channel to protect the communication security between them. During the channel establishment process, the first key is typically used to encrypt and decrypt data during communication to ensure the confidentiality and integrity of data transmission. Through this channel, the cloud phone client and the cloud phone server can achieve data transmission and interaction.
[0064] In one example embodiment of this disclosure, after the cloud phone server receives a cloud phone login request sent by the cloud phone client, it can authenticate the cloud phone client through GBA (Generic Bootstrapping Architecture) AKA (Authentication and Key Agreement) authentication, and generate a first key (ks_naf) according to the GBA AKA authentication protocol. GBA AKA authentication is an identity authentication and key negotiation scheme based on both GBA and AKA technologies. In GBA AKA authentication, the mobile terminal sends an authentication request to the network authentication server, the server returns a challenge code, the terminal uses the challenge code and its local key to calculate a response code, and sends this response code to the server for verification, thus authenticating the user's identity and generating a security key for protecting communication.
[0065] Furthermore, when authenticating cloud phone clients via GBA AKA, either GBA_ME (GBA for Mobile Equipment) or GBA_U (GBA for Universal Subscriber Identity Module / Subscriber Identity Module) can be used. GBA_ME and GBA_U are two implementations of the GBA authentication protocol. GBA_ME is used to implement the GBA authentication protocol on mobile devices, while GBA_U is used to implement the GBA authentication protocol on USIM / SIM cards.
[0066] It should be noted that this disclosure does not impose any special restrictions on the specific type of authentication protocol or the specific method of generating the first key in the cloud phone client and cloud phone server according to the authentication protocol.
[0067] Step S230: Generate a second key in the cloud phone client and the cloud phone server based on the first key, the mobile phone number, and the login timestamp;
[0068] In one exemplary embodiment of this disclosure, after obtaining the first key through the above steps, a second key can be generated in the cloud phone client and the cloud phone server based on the first key, the mobile phone number, and the login timestamp. Specifically, the second key can be generated in the cloud phone client and the cloud phone server respectively according to a preset key generation algorithm.
[0069] For example, the KDF (Key Derivation Function) algorithm can be used to generate a second key. Specifically, the KDF algorithm can derive a key from one or more input parameters. The KDF algorithm typically includes two stages: the first stage generates a pseudo-random number sequence from the input parameters, and the second stage extracts the required key from the pseudo-random number sequence. For example, the KDF algorithm can be used to generate a second key Ks_init, Ks_init = KDF{ks_naf, mobile phone number, timestamp}, where ks_naf is the first key and timestamp is the login timestamp.
[0070] It should be noted that this disclosure does not impose any special restrictions on the specific method of generating the second key in the cloud phone client and the cloud phone server based on the first key, the mobile phone number, and the login timestamp.
[0071] Step S240: Encrypt the cloud phone number corresponding to the phone number according to the second key and the cryptographic algorithm to obtain the encrypted cloud phone number;
[0072] In one example embodiment of this disclosure, after obtaining the second key from both the cloud phone client and the cloud phone server through the above steps, the cloud phone number corresponding to the phone number can be encrypted on the cloud phone server using the second key and a cryptographic algorithm to obtain an encrypted cloud phone number. Specifically, a cloud phone number is assigned to a phone number, and the cloud phone number corresponding to that phone number can be found. The cloud phone number can then be encrypted using the second key obtained in the above steps and a preset cryptographic algorithm to obtain the encrypted cloud phone number.
[0073] For example, an encrypted cloud phone number can be obtained by encrypting the cloud phone number corresponding to the cloud phone number using a second key and the SM4 (Standardization Administration of China SM4 Algorithm) algorithm. The SM4 algorithm is a block cipher algorithm that uses the same key for encryption and decryption. The key length is 128 bits, and the encryption process involves 32 rounds of iteration.
[0074] It should be noted that this disclosure does not impose any special restrictions on the specific type of cryptographic algorithm or the specific method of encrypting the cloud mobile phone number corresponding to the mobile phone number based on the second key and the cryptographic algorithm to obtain the encrypted cloud mobile phone number.
[0075] Step S250: The encrypted cloud phone number is sent to the cloud phone client, so that the cloud phone client can decrypt the encrypted cloud phone number using the second key and cryptographic algorithm to obtain the cloud phone number, thereby enabling cloud phone login and making calls using the cloud phone number.
[0076] In one example embodiment of this disclosure, after obtaining the encrypted cloud phone number through the above steps, the encrypted cloud phone number can be sent to the cloud phone client. Upon receiving the encrypted cloud phone number, the cloud phone client can decrypt it using a second key and a cryptographic algorithm to obtain the actual cloud phone number. Specifically, in the above steps, a second key has already been generated in the cloud phone client. Therefore, after receiving the encrypted cloud phone number, the same cryptographic algorithm and second key used in the encryption process can be used to decrypt the encrypted cloud phone number to obtain the actual cloud phone number. After obtaining the cloud phone number, it can be used to perform functions such as making calls and sending text messages.
[0077] In one example embodiment of this disclosure, a third key can be generated in the cloud phone client and the cloud phone server based on the first key and the cloud phone number, and encrypted communication between the cloud phone client and the cloud phone server can be established based on the third key. (Refer to...) Figure 3As shown, establishing encrypted communication between the cloud phone client and the cloud phone server based on the third key may include the following steps S310~S320:
[0078] Step S310: Generate a third key in the cloud phone client and cloud phone server based on the first key and the cloud phone number;
[0079] Step S320: Establish encrypted communication between the cloud mobile client and the cloud mobile server based on the third key.
[0080] In one exemplary embodiment of this disclosure, after obtaining the cloud phone number through the above steps, a third key can be generated in the cloud phone client and the cloud phone server based on the first key and the cloud phone number. Specifically, the third key can be used for encrypted communication between the cloud phone client and the cloud phone server, using the first key and the cloud phone number as input to generate the third key in both the cloud phone client and the cloud phone server. The third key can be generated in both the cloud phone client and the cloud phone server according to a preset key generation algorithm.
[0081] For example, the KDF algorithm can be used to generate a third key Ks_tsl in both the cloud phone client and the cloud phone server. Ks_tsl = KDF{ks_naf, cloud phone number}, where ks_naf is the first key and the third key Ks_tsl can be used as a TLS (Transport Layer Security) key to establish encrypted communication between the mobile phone client and the cloud phone server.
[0082] It should be noted that this disclosure does not impose any special restrictions on the specific method by which the third key is generated in the cloud phone client and the cloud phone server based on the first key and the cloud phone number.
[0083] Through the above steps S310~S320, a third key can be generated in the cloud phone client and the cloud phone server based on the first key and the cloud phone number, and encrypted communication between the cloud phone client and the cloud phone server can be established based on the third key.
[0084] In one example embodiment of this disclosure, a second key is generated in the cloud phone client and the cloud phone server based on a key factor, a first key, a mobile phone number, and a login timestamp. The mobile phone number corresponds to a key factor. Specifically, the second key can be generated in the cloud phone client and the cloud phone server respectively according to a preset key generation algorithm.
[0085] For example, the KDF algorithm can be used to generate the second key Ks_init, Ks_init=KDF{ks_naf, mobile phone number, a, timestamp}, where a is the key factor, ks_naf is the first key, and timestamp is the login timestamp.
[0086] Furthermore, a second key can be generated in the cloud phone client and cloud phone server based on the cloud phone application identifier, key factor, first key, mobile phone number, and login timestamp.
[0087] In one example embodiment of this disclosure, a fourth key can be generated based on a second key, a cloud phone number, and a key factor; a fifth key can be generated based on the second key, the phone number, and the key factor; and authentication, integrity protection, and data encryption and decryption can be achieved during communication between the cloud phone client and the cloud phone server using the second key, the fourth key, and the fifth key. (Refer to...) Figure 4 As shown, the authentication, integrity protection, and data encryption and decryption during communication between the cloud phone client and the cloud phone server based on the second key, the fourth key, and the fifth key may include the following steps S410~S430:
[0088] Step S410: Generate a fourth key based on the second key, the cloud phone number, and the key factor; wherein the second key is the authentication key and the fourth key is the integrity protection key;
[0089] Step S420: Generate a fifth key based on the second key, the mobile phone number, and the key factor; wherein, the fifth key is a communication key;
[0090] Step S430: Based on the second key, the fourth key, and the fifth key, authentication, integrity protection, and data encryption and decryption are achieved during the communication process between the cloud mobile client and the cloud mobile server.
[0091] In one exemplary embodiment of this disclosure, after obtaining the cloud phone number, key factor, and second key through the above steps, a fourth key can be generated based on the second key, cloud phone number, and key factor, and a fifth key can be generated based on the second key, phone number, and key factor. Specifically, the fourth and fifth keys can be generated according to a preset key generation algorithm, and can be generated in the cloud phone client and cloud phone server respectively.
[0092] For example, the KDF algorithm can be used to generate the fourth key ks_comm1 and the fifth key ks_comm2, where ks_comm1 = KDF{ks_init, cloud phone number, a} and ks_comm2 = KDF{ks_init, phone number, a}, where ks_init is the second key and a is the key factor.
[0093] The second key is used for authentication during communication between the cloud phone client and the cloud phone server. Specifically, at the beginning of communication, both parties (the cloud phone client and the cloud phone server) need to exchange the second key to verify each other's identity. The fourth key is used for integrity protection during communication between the cloud phone client and the cloud phone server. During data transmission, to prevent data from being tampered with, both parties can use the fourth key to encrypt and decrypt the data. The fifth key is used for data encryption and decryption during communication between the cloud phone client and the cloud phone server. Based on the second and fourth keys, both parties need to negotiate a communication key (the fifth key) to encrypt and decrypt the data to ensure communication security.
[0094] Through the above steps S410~S430, a fourth key can be generated based on the second key, the cloud phone number, and the key factor, and a fifth key can be generated based on the second key, the phone number, and the key factor. The second key, the fourth key, and the fifth key are used to realize authentication, integrity protection, and data encryption and decryption during the communication process between the cloud phone client and the cloud phone server.
[0095] In one example embodiment of this disclosure, when logging into multiple cloud phone clients using multiple phone numbers, the priority of each phone number is obtained. When implementing a cloud phone application using these phone numbers, the usage order of the multiple cloud phone clients is determined based on the priority of each phone number. (Refer to...) Figure 5 As shown, when implementing cloud phone applications via cloud phone numbers, determining the usage order of multiple cloud phone clients based on the priority of multiple phone numbers may include the following steps S510~S520:
[0096] Step S510: When logging into multiple cloud mobile clients using multiple mobile phone numbers, obtain the priority corresponding to the multiple mobile phone numbers;
[0097] Step S520: When implementing cloud phone applications through cloud phone numbers, determine the usage order of multiple cloud phone clients based on the priority of the multiple phone numbers.
[0098] In one example embodiment of this disclosure, multiple cloud mobile clients can be logged in using multiple mobile phone numbers. The multiple cloud mobile clients correspond to the same cloud mobile number, meaning that multiple mobile phone numbers correspond to the same cloud mobile number. After logging in to the cloud mobile clients using different mobile phone numbers (terminal devices), the priority corresponding to the multiple mobile phone numbers can be obtained.
[0099] Specifically, the priority of multiple mobile phone numbers can be used to indicate the order in which multiple mobile phone numbers are used when using cloud mobile phone numbers. When implementing cloud mobile phone applications through cloud mobile phone numbers, the order in which multiple cloud mobile phone clients are used can be determined according to the priority of the mobile phone numbers.
[0100] Specifically, if a mobile phone number has a higher priority, the cloud mobile client corresponding to that mobile phone number will be used earlier in the order of usage; if a mobile phone number has a lower priority, the cloud mobile client corresponding to that mobile phone number will be used later in the order of usage.
[0101] For example, for a cloud phone number 173xxxxxxx1, it is assigned phone numbers B1: 133xxxxxxx1 and B2: 133xxxxxxx2. Among them, B1 has a higher priority than B2. When logging into the cloud phone client through B1 and B2 respectively and needing to use the cloud phone number, the cloud phone client corresponding to B1 will be given priority in using the cloud phone number, based on the priority of B1 and the priority of B2.
[0102] It should be noted that this disclosure does not impose any special restrictions on the method for determining the priority of multiple mobile phone numbers.
[0103] Through the above steps S510~S520, when logging into multiple cloud mobile clients using multiple mobile phone numbers, the priority of each mobile phone number is obtained. When implementing cloud mobile applications using cloud mobile phone numbers, the usage order of multiple cloud mobile clients is determined according to the priority of each mobile phone number.
[0104] In one example embodiment of this disclosure, after obtaining the cloud phone number through the above steps, the current time can be acquired. When the current time falls within the usage time period, the user can log in to the cloud phone client using the phone number. Specifically, the user can only log in to the cloud phone client using the phone number when the current time falls within the usage time period corresponding to that phone number.
[0105] Furthermore, different mobile phone numbers correspond to different usage time periods.
[0106] Furthermore, different mobile phone numbers correspond to the same cloud mobile phone number. And different mobile phone numbers correspond to different time periods of use.
[0107] In one example embodiment of this disclosure, the address book permissions corresponding to the cloud phone client can be obtained, and the address book can be synchronized to the cloud phone client according to the address book permissions. (Refer to...) Figure 6 As shown, synchronizing contacts with the cloud phone client according to contact permissions may include the following steps S610~S620:
[0108] Step S610: Obtain access to the contacts book corresponding to the mobile phone number;
[0109] Step S620: Synchronize the contacts with the cloud mobile client according to the contact permissions.
[0110] In one example embodiment of this disclosure, a mobile phone number corresponds to contact list permissions. Different mobile phone numbers can correspond to different contact list permissions, and different contact list permissions can be used to synchronize different contact lists. After obtaining the contact list permissions corresponding to a mobile phone number, the contact list can be synchronized to the cloud phone client according to the contact list permissions. Specifically, the contact list can be stored in the cloud phone server, and different contact list permissions can be set for multiple contact lists in the contact list. After obtaining the contact list permissions corresponding to a mobile phone number, the contact list with the service contact list permissions can be synchronized to the cloud phone client.
[0111] For example, the higher the access level to the address book, the more addresses can be synced; the lower the access level, the fewer addresses can be synced.
[0112] It should be noted that this disclosure does not impose any special restrictions on the specific settings for contact permissions.
[0113] Through the above steps S610~S620, the corresponding address book permissions of the cloud mobile client can be obtained, and the address book can be synchronized to the cloud mobile client according to the address book permissions.
[0114] In one example embodiment of this disclosure, an enterprise can apply for a set of cloud phone numbers. When issuing the cloud phone numbers, relevant information (such as the application number, tariff package, administrator, contact information, etc.) can be issued at the same time, along with the enterprise administrator's account and password (Ukey, User Key) so that the enterprise administrator can allocate the cloud phone numbers and perform related settings.
[0115] In one example embodiment of this disclosure, an enterprise administrator can set the automatic power-on and power-off times for cloud phones. Specifically, the solution disclosed herein can only be used during the cloud phone's designated power-on period.
[0116] In one exemplary embodiment of this disclosure, such as Figure 7 As shown, a cloud phone login method may include the following steps S701~S710:
[0117] Step S701: After the enterprise applies for a cloud mobile phone number, a set of cloud mobile phone numbers will be issued, along with a management key (Ukey), an enterprise administrator account, and a password.
[0118] Step S702: Assign cloud phone numbers to mobile phone numbers, set the automatic power on / off time of cloud phones, and set the contact permissions for mobile phone numbers;
[0119] Step S703: The cloud phone accesses the mobile internet and connects to WAGF (Wireless Access Gateway Function).
[0120] Step S704: Power on and power off the cloud phone according to its automatic power-on / off schedule;
[0121] Step S705: Synchronize the contacts with the cloud phone client according to the contact permissions;
[0122] Step S706: Receive the cloud phone login request sent by the cloud phone client, authenticate the cloud phone client according to the cloud phone login request, and generate the first key in the cloud phone client and the cloud phone server according to the authentication protocol.
[0123] Step S707: Generate a second key in the cloud phone client and cloud phone server based on the key factor, the first key, the mobile phone number, and the login timestamp. Encrypt the cloud phone number corresponding to the mobile phone number based on the second key and the cryptographic algorithm to obtain an encrypted cloud phone number. Send the encrypted cloud phone number to the cloud phone client.
[0124] Step S708: Decrypt the encrypted cloud phone number using the second key and cryptographic algorithm to obtain the cloud phone number;
[0125] Step S709: Generate a third key in the cloud phone client and cloud phone server based on the first key and the cloud phone number;
[0126] Step S710: Establish encrypted communication between the cloud mobile client and the cloud mobile server based on the third key (the cloud mobile client and the cloud mobile server maintain a heartbeat to facilitate the cloud mobile server to wake up the cloud mobile client).
[0127] In one exemplary embodiment of this disclosure, such as Figure 8As shown, in step S810, the cloud phone client sends a first call request to the cloud phone server; in step S820, the cloud phone server sends a request signaling (invite from cloud phone server to target terminal device) to the target terminal device via the cloud phone number; in step S830, in response to the target terminal device's call confirmation action, the target terminal device sends a confirmation signaling (from target terminal device to cloud phone server); in step S840, when the cloud phone server receives the confirmation signaling, the cloud phone server sends a call ringing and call interface to the cloud phone client via streaming media; in step S850, a call is established between the target terminal device and the cloud phone server (200 OK / ACK, OK: two hundred okay, the request has been successfully processed and the required information has been returned; ACK: acknowledgement, confirmation response); in step S860, audio and video media streams are transmitted between the cloud phone client and the cloud phone server via streaming media to realize the call between the cloud phone client and the target terminal device.
[0128] In one exemplary embodiment of this disclosure, such as Figure 9 As shown, in step S910, in response to the second call request from the target terminal device for the cloud phone number, the target terminal device sends a request signaling (invite from target terminal device to cloud phone server); in step S920, when the cloud phone server receives the request signaling from the target terminal device, the cloud phone server sends a call ringing and call interface to the cloud phone client via streaming media; in step S930, in response to the cloud phone client's call confirmation action; in step S940, the cloud phone server sends a confirmation signaling (from cloud phone server to target terminal device) to the target terminal device; in step S950, a call is established between the target terminal device and the cloud phone server (200 OK / ACK); in step S960, audio and video media streams are transmitted between the cloud phone client and the cloud phone server via streaming media to realize the call between the cloud phone client and the target terminal device.
[0129] Specifically, in implementing the solution disclosed herein, an IMS (IP Multimedia Subsystem) protocol stack can be added to the cloud phone server, and communication messages can be transmitted through the WAGF link.
[0130] Specifically, the first call request includes the service request type, calling number, target mobile number, priority, and access identifier. The service request type is 1 byte (call request 0x0001; phone ringing 0x0002; call setup 0x0003; call end 0x0004; uplink SMS request 0x000; uplink SMS response 0x0006; downlink SMS request; downlink SMS response). The calling number is 4 bytes. The target mobile number is 4 bytes. The priority is 1 byte (0x01 high; 0x02 medium; 0x03 low). The access identifier is 4 bytes.
[0131] In one exemplary embodiment of this disclosure, such as Figure 10 As shown, a cloud phone system is also provided, which includes the following modules:
[0132] Enterprise cloud phone management module, enterprise cloud phone resource module, user card communication pool module, cloud phone management module.
[0133] The user card communication pool module integrates multiple SIM / eSIM cards, which can be allocated to enterprise cloud phones to enable cloud phone calling functions;
[0134] The cloud phone management module includes an access management unit, an application management unit, a resource management unit, a device management unit, a communication management unit, and a SIM management unit. The device management unit is responsible for maintaining the availability and security of the network channel and enabling the cloud phone's calling function; the SIM management unit is responsible for allocating user card resources and managing usage permissions, also enabling the cloud phone's calling function; and the application management unit is responsible for instantiating cloud phones that support calling functionality.
[0135] The enterprise cloud phone management module is used to allocate permissions and manage functions within the enterprise's resource scope, including cloud phone number allocation, power on / off time settings, permission management, and contact synchronization.
[0136] The enterprise cloud phone resource module is used for the allocation and management of storage resources and for use as computing resources.
[0137] In addition, the cloud phone system includes an enterprise cloud phone application that can be installed on terminal devices; it also includes an enterprise cloud phone management application that can be installed on the enterprise server to manage the cloud phones. An enterprise cloud phone can be created using the cloud phone application and the allocated user card.
[0138] The solution disclosed herein can be applied in the aforementioned cloud phone system to enable the function of making calls via cloud phone numbers.
[0139] In one embodiment of the cloud phone login method disclosed herein, a cloud phone client login request is received. The cloud phone client is authenticated based on the login request. A first key is generated in both the cloud phone client and the cloud phone server according to an authentication protocol. Communication between the cloud phone client and the cloud phone server is established based on the first key. A second key is generated in both the cloud phone client and the cloud phone server based on the first key, the phone number, and the login timestamp. The cloud phone number corresponding to the phone number is encrypted using the second key and a cryptographic algorithm to obtain an encrypted cloud phone number. The encrypted cloud phone number is sent to the cloud phone client, allowing the cloud phone client to decrypt the encrypted cloud phone number using the second key and the cryptographic algorithm. This enables cloud phone login and allows call functionality via the cloud phone number. Through this solution, a cloud phone number can be configured for the cloud phone client. After cloud phone login, data services can be performed via the cloud phone, while call functionality can be achieved via the cloud phone number, enriching the functionality of the cloud phone.
[0140] It should be noted that the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of this disclosure, and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Furthermore, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0141] Furthermore, in an exemplary embodiment of this disclosure, a cloud phone login device is also provided. (Refer to...) Figure 11 As shown, a cloud phone login device 1100 includes: a login request receiving module 1110, a first key generation module 1120, a second key generation module 1130, a cloud phone number encryption module 1140, and a cloud phone number decryption module 1150.
[0142] The system includes the following modules: a login request receiving module, which receives login requests from the cloud phone client and authenticates the cloud phone client based on the login request; the login request corresponds to a login timestamp, the authentication corresponds to an authentication protocol, the login request corresponds to a mobile phone number, and the mobile phone number is assigned a cloud phone number; a first key generation module, which generates a first key in the cloud phone client and the cloud phone server according to the authentication protocol, and establishes communication between the cloud phone client and the cloud phone server based on the first key; a second key generation module, which generates a second key in the cloud phone client and the cloud phone server based on the first key, the mobile phone number, and the login timestamp; a cloud phone number encryption module, which encrypts the cloud phone number corresponding to the mobile phone number using the second key and a cryptographic algorithm to obtain an encrypted cloud phone number; and a cloud phone number decryption module, which sends the encrypted cloud phone number to the cloud phone client, so that the cloud phone client can decrypt the encrypted cloud phone number using the second key and the cryptographic algorithm to obtain the cloud phone number, thereby enabling cloud phone login and making calls using the cloud phone number.
[0143] In one exemplary embodiment of this disclosure, based on the foregoing scheme, the apparatus further includes: a third key generation unit, configured to generate a third key in the cloud phone client and the cloud phone server according to the first key and the cloud phone number; and an encrypted communication establishment unit, configured to establish encrypted communication between the cloud phone client and the cloud phone server according to the third key.
[0144] In one exemplary embodiment of this disclosure, based on the aforementioned scheme, a key factor corresponds to a mobile phone number, and a second key is generated in the cloud mobile phone client and the cloud mobile phone server according to the first key, the mobile phone number, and the login timestamp. The device further includes a key generation unit, which generates the second key in the cloud mobile phone client and the cloud mobile phone server according to the key factor, the first key, the mobile phone number, and the login timestamp.
[0145] In an exemplary embodiment of this disclosure, based on the foregoing scheme, the apparatus further includes: a fourth key generation unit, configured to generate a fourth key based on a second key, a cloud phone number, and a key factor; wherein the second key is an authentication key and the fourth key is an integrity protection key; a fifth key generation unit, configured to generate a fifth key based on the second key, a phone number, and a key factor; wherein the fifth key is a communication key; and a key group application unit, configured to perform authentication, integrity protection, and data encryption and decryption during communication between the cloud phone client and the cloud phone server based on the second key, the fourth key, and the fifth key.
[0146] In an exemplary embodiment of this disclosure, based on the aforementioned scheme, a cloud phone number corresponds to multiple phone numbers, and the device further includes: a priority acquisition unit, used to acquire the priority corresponding to the multiple phone numbers when logging into multiple cloud phone clients through multiple phone numbers; wherein, the multiple cloud phone clients correspond to cloud phone numbers; and a usage order determination unit, used to determine the usage order of the multiple cloud phone clients according to the priority corresponding to the multiple phone numbers when implementing cloud phone applications through cloud phone numbers.
[0147] In one exemplary embodiment of this disclosure, based on the aforementioned scheme, the device further includes: a contact permission acquisition unit, configured to acquire contact permissions corresponding to a mobile phone number; and a contact synchronization unit, configured to synchronize the contact list to a cloud mobile client according to the contact permissions.
[0148] In an exemplary embodiment of this disclosure, based on the foregoing solution, the apparatus further includes: a first call request sending unit, configured to send a first call request to a cloud phone server via a cloud phone client, wherein the cloud phone server sends a request signaling to a target terminal device via a cloud phone number; wherein the first call request includes a target phone number; a first call confirmation action response unit, configured to respond to a call confirmation action from the target terminal device by sending a confirmation signaling to the cloud phone server via the target terminal device; a confirmation signaling receiving unit, configured to, upon receiving the confirmation signaling, send a call ringing and call interface to the cloud phone client via streaming media; and a first audio / video media stream transmission unit, configured to establish a call between the target terminal device and the cloud phone server, and transmit audio / video media streams between the cloud phone client and the cloud phone server via streaming media to realize cloud phone functionality. The system includes: a client-side communication unit and a target terminal device; a second call request sending unit, configured to respond to a second call request from the target terminal device for a cloud phone number, wherein the target terminal device sends a request signaling to the cloud phone server; wherein the second call request includes the cloud phone number; a request signaling receiving unit, configured to, when the cloud phone server receives the request signaling from the target terminal device, send a call ringing and call interface to the cloud phone client via streaming media; a second call confirmation action response unit, configured to, in response to the call confirmation action from the cloud phone client, send a confirmation signaling to the target terminal device via the cloud phone server; and a second audio and video media stream transmission unit, configured to establish a call between the target terminal device and the cloud phone server, and transmit audio and video media streams between the cloud phone client and the cloud phone server via streaming media to realize the call between the cloud phone client and the target terminal device.
[0149] Since the functional modules of the cloud phone login device in the example embodiments of this disclosure correspond to the steps of the example embodiments of the cloud phone login method described above, for details not disclosed in the device embodiments of this disclosure, please refer to the embodiments of the cloud phone login method described above.
[0150] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0151] Furthermore, in an exemplary embodiment of this disclosure, an electronic device capable of implementing the above-described cloud phone login method is also provided.
[0152] Those skilled in the art will understand that various aspects of this disclosure can be implemented as a system, method, or program product. Therefore, various aspects of this disclosure can be embodied in the following forms: a completely hardware embodiment, a completely software embodiment (including firmware, microcode, etc.), or an embodiment combining hardware and software aspects, collectively referred to herein as a "circuit," "module," or "system."
[0153] The following reference Figure 12 To describe an electronic device 1200 according to such an embodiment of the present disclosure. Figure 12 The electronic device 1200 shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments disclosed herein.
[0154] like Figure 12 As shown, the electronic device 1200 is presented in the form of a general-purpose computing device. The components of the electronic device 1200 may include, but are not limited to: at least one processing unit 1210, at least one storage unit 1220, a bus 1230 connecting different system components (including storage unit 1220 and processing unit 1210), and a display unit 1240.
[0155] The storage unit stores program code, which can be executed by the processing unit 1210 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure. For example, the processing unit 1210 can perform actions such as... Figure 2Step S210, as shown, involves receiving a cloud phone login request sent by the cloud phone client and authenticating the cloud phone client based on the login request; wherein the cloud phone login request corresponds to a login timestamp, the authentication corresponds to an authentication protocol, and the cloud phone login request corresponds to a mobile phone number; Step S220, a first key is generated in the cloud phone client and the cloud phone server according to the authentication protocol, and communication is established between the cloud phone client and the cloud phone server based on the first key; Step S230, a second key is generated in the cloud phone client and the cloud phone server based on the first key, the mobile phone number, and the login timestamp; Step S240, the cloud phone number corresponding to the mobile phone number is encrypted using the second key and a cryptographic algorithm to obtain an encrypted cloud phone number; Step S250, the encrypted cloud phone number is sent to the cloud phone client so that the cloud phone client can decrypt the encrypted cloud phone number using the second key and the cryptographic algorithm to obtain the cloud phone number, thereby realizing cloud phone login and enabling call functionality via the cloud phone number.
[0156] Storage unit 1220 may include readable media in the form of volatile storage units, such as random access memory (RAM) 1221 and / or cache memory 1222, and may further include read-only memory (ROM) 1223.
[0157] Storage unit 1220 may also include a program / utility 1224 having a set (at least one) program module 1225, such program module 1225 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0158] Bus 1230 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration open port, a processing unit, or a local bus using any of the multiple bus structures.
[0159] Electronic device 1200 can also communicate with one or more external devices 1270 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with the electronic device 1200, and / or with any device that enables the electronic device 1200 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 1250. Furthermore, electronic device 1200 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 1260. Figure 12As shown, network adapter 1260 communicates with other modules of electronic device 1200 via bus 1230. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with electronic device 1200, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0160] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0161] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the methods described above is stored. In some possible embodiments, various aspects of this disclosure may also be implemented as a program product including program code that, when the program product is run on a terminal device, causes the terminal device to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure.
[0162] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.
[0163] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0164] Program code for performing the operations of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing devices can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0165] Furthermore, the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of this disclosure and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Additionally, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0166] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the claims.
Claims
1. A method for logging into a cloud phone, characterized in that, The method includes: The system receives a cloud phone login request sent by a cloud phone client and authenticates the cloud phone client based on the cloud phone login request; wherein, the cloud phone login request corresponds to a login timestamp, the authentication corresponds to an authentication protocol, the cloud phone login request corresponds to a mobile phone number, and the mobile phone number is assigned a cloud phone number; A first key is generated in the cloud mobile client and the cloud mobile server according to the authentication protocol, and communication between the cloud mobile client and the cloud mobile server is established according to the first key. A second key is generated in the cloud phone client and the cloud phone server based on the first key, the mobile phone number, and the login timestamp; The cloud phone number corresponding to the mobile phone number is encrypted using the second key and the cryptographic algorithm to obtain the encrypted cloud phone number. The encrypted cloud phone number is sent to the cloud phone client, so that the cloud phone client can decrypt the encrypted cloud phone number using the second key and the cryptographic algorithm to obtain the cloud phone number, thereby enabling cloud phone login and making calls using the cloud phone number; The cloud phone client sends the first call request to the cloud phone server, and the cloud phone server sends a request signaling to the target terminal device through the cloud phone number. In response to the call confirmation action of the target terminal device, a confirmation signal is sent from the target terminal device to the cloud mobile phone server. Upon receiving the confirmation signal, the cloud phone server sends a call ringing tone and call interface to the cloud phone client via streaming media. A call is established between the target terminal device and the cloud phone server, and audio and video media streams are transmitted between the cloud phone client and the cloud phone server via streaming media to enable communication between the cloud phone client and the target terminal device.
2. The method according to claim 1, characterized in that, The method further includes: A third key is generated in the cloud phone client and the cloud phone server based on the first key and the cloud phone number; The cloud phone client and the cloud phone server establish encrypted communication based on the third key.
3. The method according to claim 1, characterized in that, The mobile phone number corresponds to a key factor. Generating a second key in the cloud phone client and the cloud phone server based on the first key, the mobile phone number, and the login timestamp includes: A second key is generated in the cloud phone client and the cloud phone server based on the key factor, the first key, the mobile phone number, and the login timestamp.
4. The method according to claim 3, characterized in that, The method further includes: A fourth key is generated based on the second key, the cloud phone number, and the key factor; wherein the second key is an authentication key, and the fourth key is an integrity protection key; A fifth key is generated based on the second key, the mobile phone number, and the key factor; wherein, the fifth key is a communication key; The second key, the fourth key, and the fifth key are used to implement authentication, integrity protection, and data encryption and decryption during the communication process between the cloud mobile client and the cloud mobile server.
5. The method according to claim 1, characterized in that, The cloud mobile phone number corresponds to multiple mobile phone numbers, and the method further includes: When logging into multiple cloud mobile clients using multiple mobile phone numbers, the priority corresponding to the multiple mobile phone numbers is obtained; wherein, the multiple cloud mobile clients correspond to the cloud mobile phone numbers; When implementing cloud phone applications using the cloud phone numbers, the order in which the cloud phone clients are used is determined according to the priority of the multiple phone numbers.
6. The method according to claim 1, characterized in that, The method further includes: Obtain access to the contacts list corresponding to the mobile phone number; The address book is synchronized to the cloud mobile client according to the address book permissions.
7. The method according to claim 1, characterized in that, The method further includes: In response to a second call request from the target terminal device for the cloud phone number, the target terminal device sends a request signaling message to the cloud phone server; wherein the second call request includes the cloud phone number; When the cloud phone server receives the request signaling from the target terminal device, the cloud phone server sends a call ringing and call interface to the cloud phone client via streaming media. In response to the call confirmation action of the cloud phone client, a confirmation signal is sent to the target terminal device through the cloud phone server; A call is established between the target terminal device and the cloud phone server, and audio and video media streams are transmitted between the cloud phone client and the cloud phone server via streaming media to enable communication between the cloud phone client and the target terminal device.
8. A cloud phone login device, characterized in that, The device includes: The login request receiving module is used to receive the cloud phone login request sent by the cloud phone client and to authenticate the cloud phone client according to the cloud phone login request; wherein, the cloud phone login request corresponds to a login timestamp, the authentication corresponds to an authentication protocol, the cloud phone login request corresponds to a mobile phone number, and the mobile phone number is assigned a cloud phone number; The first key generation module is used to generate a first key in the cloud mobile client and the cloud mobile server according to the authentication protocol, and to establish communication between the cloud mobile client and the cloud mobile server according to the first key. The second key generation module is used to generate a second key in the cloud mobile client and the cloud mobile server based on the first key, the mobile phone number, and the login timestamp; The cloud mobile phone number encryption module is used to encrypt the cloud mobile phone number corresponding to the mobile phone number according to the second key and the cryptographic algorithm to obtain an encrypted cloud mobile phone number; The cloud phone number decryption module is used to send the encrypted cloud phone number to the cloud phone client, so that the cloud phone client can decrypt the encrypted cloud phone number using the second key and the cryptographic algorithm to obtain the cloud phone number, thereby enabling cloud phone login and making calls using the cloud phone number; The device further includes: The first call request sending unit is used to send a first call request to the cloud phone server through the cloud phone client, and the cloud phone server sends a request signaling to the target terminal device through the cloud phone number. The first call confirmation action response unit is used to respond to the call confirmation action of the target terminal device and send a confirmation signal to the cloud phone server through the target terminal device. The confirmation signaling receiving unit is used to send a call ringing and a call interface to the cloud phone client via streaming media when the confirmation signaling is received. The first audio and video media stream transmission unit is used to establish a call between the target terminal device and the cloud mobile phone server, and to transmit audio and video media streams between the cloud mobile phone client and the cloud mobile phone server in a streaming media manner, so as to realize the call between the cloud mobile phone client and the target terminal device.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1 to 7.
10. An electronic device, characterized in that, include: One or more processors; as well as A memory for storing one or more programs, which, when executed by one or more processors, cause the one or more processors to implement the method as described in any one of claims 1 to 7.