CN116886767A - Message pushing method, terminal, electronic equipment and application server - Google Patents

Message pushing method, terminal, electronic equipment and application server Download PDF

Info

Publication number
CN116886767A
CN116886767A CN202311078702.7A CN202311078702A CN116886767A CN 116886767 A CN116886767 A CN 116886767A CN 202311078702 A CN202311078702 A CN 202311078702A CN 116886767 A CN116886767 A CN 116886767A
Authority
CN
China
Prior art keywords
message
decryption
terminal
push
application server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311078702.7A
Other languages
Chinese (zh)
Inventor
王文峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202311078702.7A priority Critical patent/CN116886767A/en
Publication of CN116886767A publication Critical patent/CN116886767A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Abstract

The application discloses a message pushing method, a terminal, electronic equipment and an application server, and belongs to the technical field of communication. The message pushing method comprises the following steps: the method comprises the steps that a terminal receives ciphertext information pushed by an application server, the ciphertext information is received by a pushing engine called by the terminal, decryption identifiers are carried in the ciphertext information, and the ciphertext information is generated by the application server based on encryption information indicated by the decryption identifiers and information to be pushed; the terminal displays the message content, wherein the message content is obtained by the terminal calling a push engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the push engine.

Description

Message pushing method, terminal, electronic equipment and application server
Technical Field
The application belongs to the technical field of communication, and particularly relates to a message pushing method, a terminal, electronic equipment and an application server.
Background
The push service (Push Notification Service) is a technique for delivering messages to mobile application user devices. The technical support behind the method is provided by a mobile device system and a mobile device manufacturer, and an application program can push a message to a user in time no matter in an offline state, a background state or a foreground state through a long connection technology so that the user can know the latest message dynamics.
At present, push service is generally realized based on a unified message encryption and decryption mode so as to ensure that messages sent by all applications under the equipment are not compromised and provide unified security. However, when the unified security is broken, there is a risk of revealing tampering with the push messages of all applications under the device.
Disclosure of Invention
The embodiment of the application aims to provide a message pushing method, a terminal, electronic equipment and an application server, which can improve the safety of pushing transmission of a message to be pushed and achieve the effect of saving electricity.
In order to solve the technical problems, the application is realized as follows:
in a first aspect, an embodiment of the present application provides a message pushing method, including:
the method comprises the steps that a terminal receives ciphertext information pushed by an application server, the ciphertext information is received by a pushing engine called by the terminal, decryption identifiers are carried in the ciphertext information, and the ciphertext information is generated by the application server based on encryption information indicated by the decryption identifiers and information to be pushed;
the terminal displays the message content, wherein the message content is obtained by the terminal calling a push engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the push engine.
In a second aspect, an embodiment of the present application provides a message pushing method, including:
the method comprises the steps that an application server receives a password message sent by a push program, wherein the password message carries a decryption identifier;
the application server generates a ciphertext message based on the message to be pushed and the encryption information indicated by the decryption identifier, wherein the message to be pushed is the message pushed to the pushing program by the application server, and the ciphertext message carries the decryption identifier;
the application server calls a pushing platform interface to push the ciphertext message to the terminal so that the terminal displays message content, wherein the message content is obtained by the terminal calling a pushing engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the pushing engine.
In a third aspect, an embodiment of the present application provides a terminal, including:
the receiving module is used for receiving ciphertext messages pushed by the application server, wherein the ciphertext messages are received by the terminal calling pushing engine, decryption identifiers are carried in the ciphertext messages, and the ciphertext messages are generated by the application server based on encryption information indicated by the decryption identifiers and messages to be pushed;
The display module is used for displaying message content, wherein the message content is obtained by the terminal calling a pushing engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the pushing engine.
In a fourth aspect, an embodiment of the present application provides an application server, including:
the receiving module is used for receiving the password message sent by the pushing program, wherein the password message carries a decryption identifier;
the ciphertext generating module is used for generating ciphertext information based on information to be pushed and encryption information indicated by the decryption identifier, wherein the information to be pushed is information pushed to the pushing program by the application server, and the ciphertext information carries the decryption identifier;
the pushing module is used for calling a pushing platform interface to push the ciphertext message to the terminal so that the terminal can display the message content, wherein the message content is obtained by the terminal calling a pushing engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the pushing engine.
In a fifth aspect, an embodiment of the present application provides an electronic device, the terminal comprising a processor and a memory, the memory having stored thereon a program or instructions executable on the processor, the program or instructions implementing the steps of the method according to the first aspect when executed by the processor.
In a sixth aspect, an embodiment of the present application provides an application server, the terminal comprising a processor and a memory, the memory having stored thereon a program or instructions executable on the processor, the program or instructions implementing the steps of the method according to the second aspect when executed by the processor.
In a seventh aspect, embodiments of the present application provide a readable storage medium having stored thereon a program or instructions which when executed by a processor implement the steps of the method according to the first or second aspect.
In an eighth aspect, an embodiment of the present application provides a chip, where the chip includes a processor and a communication interface, where the communication interface is coupled to the processor, and where the processor is configured to execute a program or instructions to implement a method according to the first aspect or the second aspect.
In a ninth aspect, embodiments of the present application provide a computer program product stored in a storage medium, the program product being executable by at least one processor to implement the method according to the first or second aspect.
In the embodiment of the application, the terminal can call the pushing engine to receive the ciphertext message pushed by the application server, and after the pushing engine receives the ciphertext message, the terminal can call the pushing engine and decrypt the ciphertext message based on the password indicated by the encryption identifier in the pushing engine to obtain the decrypted message content so as to display the message content on the terminal. Therefore, by establishing a set of encryption and decryption logic between the pushing engine and the application server, the security of pushing transmission of the message to be pushed can be effectively improved. Moreover, as the decryption processing can be directly carried out on the ciphertext message based on the push engine, the display of the message content corresponding to the ciphertext message can be realized relative to the situation that the push program is required to be pulled or started, the display of the message content corresponding to the ciphertext message can be avoided by pulling or starting the push program, the power consumption required by pulling or starting the push program can be reduced, the purpose of reducing the power consumption of the terminal can be achieved, and the effect of saving electricity can be achieved.
Drawings
FIG. 1 is a flow chart of a message pushing method provided by some embodiments of the present application;
FIG. 2 is a flow chart of a message pushing method provided by some embodiments of the present application;
FIG. 3 is a flow chart of a message pushing method provided by some embodiments of the present application;
FIG. 4 is a registration flow diagram provided by some embodiments of the application;
FIG. 5 is a flow chart of a message pushing method provided by some embodiments of the present application;
fig. 6 is a block diagram of a terminal provided by some embodiments of the application;
FIG. 7 is a block diagram of an application server provided by some embodiments of the application;
FIG. 8 is a block diagram of a communication device provided by some embodiments of the application;
FIG. 9 is a block diagram of an electronic device provided by some embodiments of the application;
fig. 10 is a block diagram of an application server provided by some embodiments of the application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The terms first, second and the like in the description and in the claims, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged, as appropriate, such that embodiments of the present application may be implemented in sequences other than those illustrated or described herein, and that the objects identified by "first," "second," etc. are generally of a type, and are not limited to the number of objects, such as the first object may be one or more. Furthermore, in the description and claims, "and/or" means at least one of the connected objects, and the character "/", generally means that the associated object is an "or" relationship.
The following description is presented to enable one skilled in the art to better understand the embodiments of the present application.
Push notification is a technique that allows a user of a mobile application to send a message, and can push the latest message to the user's device when the application is not started or is switched to background operation, to provide a better user experience. Push notifications may be used for various types of messages and events, such as social networking messages, payment hint messages, sports event update messages, etc., are important functions in many mobile phone applications.
The push engine is built in the mobile phone and resides in the mobile phone system, long connection is established with the push platform, and is responsible for receiving, processing and displaying the system-level application of the transmission capacity of the push message.
A long connection is understood to mean a data channel that can continue to send and receive messages after being established based on one or more protocols. For example, a TCP protocol may be established between the push engine and the push platform so that messages may be continuously sent and received between the push platform and the push engine.
Information encryption is a method of protecting information security by applying cryptographic algorithms to sensitive data. By converting the original data into unintelligible ciphertext, the encryption of the information protects the confidentiality and security of the data. It can be applied to various different types of data including financial information, medical records, personal identity information, etc., and has been widely used in the fields of network and computer security to improve security, trust and reliability.
Keys such as asymmetric encryption are cryptographic methods that use two keys for encryption and decryption, including public and private keys. The public key may be issued to anyone, only the owner of the private key being able to decrypt the public key encrypted data. The public key and the private key are mutually independent, the generation mode is that a pair is generated through a specific calculation formula, and the public key and the private key are widely applied to the fields of network and information security, including digital signature, authentication, encrypted communication, encrypted transaction, electronic mail, online banking and the like.
Secure sandboxes are an important security mechanism that provides an isolated environment that can safely run trusted and untrusted programs and detect their behavior. The security sandbox may limit the operation and access rights of malicious code, thereby preventing it from attacking and damaging the system. The security sandbox is widely used in fields of testing, development, code evaluation, security research and the like, and is applied to various fields of operating systems, network (Web) application programs, mobile application programs and the like.
A decryption sandbox may be understood as a kind of secure sandbox, and for decrypting the content in the sandbox, subsequent access and viewing operations may be performed after decryption.
It will be appreciated that the handset may also be other terminals, such as a telephone wristwatch, tablet computer, etc.
Referring to fig. 1, fig. 1 is a flowchart of a message pushing method according to some embodiments of the present application. As shown in fig. 1, the message pushing method provided by the embodiment of the application includes the following steps:
step 101, the terminal receives the ciphertext message pushed by the application server.
The ciphertext message may be received by the terminal calling the push engine, and the ciphertext message carries a decryption identifier.
The ciphertext message may be generated by the application server based on the encrypted information indicated by the decryption identifier and the message to be pushed.
The decryption identifier may be a digital ID or a group of character strings, and may indicate a unique group of encryption and decryption schemes through the identifier, where the encryption and decryption schemes include a decryption password and encryption information, and the decryption password may perform decryption operation on content encrypted based on the encryption information.
For example, in the case where it is determined that the decryption identification of the decryption password a is the identification a, the encryption information a corresponding to the decryption password may be determined based on the identification a, so that the content encrypted by the encryption information a may be subjected to a decryption operation based on the decryption password a to achieve encrypted transmission and management of the content.
It will be appreciated that since the decryption flag in the present application does not involve user operation, that is, the decryption flag in the present application may be set to be invisible to the user, so as to promote the security of the decryption flag.
For example, in the case that the decryption password is a digest information decryption algorithm, the decryption identifier of the digest information decryption algorithm may be determined as "MD5-JKK", while the digest information encryption algorithm indicated by the decryption identifier may be determined based on the decryption identifier, and then the digest information encryption algorithm is used to "open-day phishing? And (3) carrying out encryption processing to obtain encrypted ciphertext message, wherein the ciphertext message also carries decryption identification (MD 5-JKK).
For another example, in the case where the decryption password is a key, it may be determined that the decryption identifier of the key is "MY-dkd", and the key is "dowr798352", which may be a key used for a symmetric encryption algorithm, based on which a symmetric encryption algorithm may be determined based on the key, and based on which content encrypted based on the symmetric encryption algorithm may be decrypted. In particular, can the message to be pushed "tomorrow phishing" be based on a symmetric encryption algorithm indicated by the key "dowr 798352"? And (3) carrying out encryption processing to obtain encrypted ciphertext message, wherein the ciphertext message also carries a decryption identifier of MY-dkd.
For example, when the decryption password is the password a and the decryption identifier of the password a is the identifier a, the encryption information a indicated by the identifier a may be determined, that is, the encryption and decryption logic of the password a and the encryption information a is established. Thus, after the message to be pushed is encrypted based on the encryption information A indicated by the identifier A, the message to be pushed after the encryption processing of the encryption information A can be decrypted based on the password A indicated by the identifier A, and the decrypted message content can be obtained.
The message to be pushed can be understood as a message that the application server needs to push to the push program. For example, in the process that the user a chatts with the user B through the social application, if the social application in the terminal device of the user B is not started or works in the background, the message a sent by the user a may be pushed to the terminal where the user B is located through the application server, where the social application may be understood as a pushing program, and the message a may be understood as the message to be pushed.
In order to ensure the safety of the message to be pushed in the pushing process, the message to be pushed can be encrypted through an application server. For example, the message to be pushed is encrypted by decrypting the encryption information indicated by the identifier, so as to generate a ciphertext message.
For example, when the encryption information indicated by the decryption identifier is a symmetric encryption algorithm or a message digest algorithm, the message to be pushed can be encrypted based on the symmetric encryption algorithm or the message digest algorithm, and a ciphertext message is generated, so that the application server pushes the generated ciphertext message to the terminal, and safe encryption transmission of the message to be pushed is realized.
It will be appreciated that the push program may be an application of any program type capable of pushing messages, in particular the program types may include: instant messaging programs, shopping programs, information programs, navigation programs, transaction financial programs, game programs, and the like. The communication programs comprise instant communication programs, such as WeChat, facebook and other application programs, the shopping programs comprise Beijing dong, taobao and other application programs, the information programs comprise present day headdress, tiger puff and other application programs, the navigation programs comprise hundred degree map, goldmap and other application programs, the transaction financial programs comprise banks, insurance and other application programs, and the game programs comprise greedy snake, xiaole and other application programs. While the application server may be understood as a platform server associated with the push program.
Wherein, the association relationship between the push program and the application server can be established based on developer information, provider information and the like of the push program, so that the push program can determine the application server associated with the developer information, provider information and the like based on the association relationship.
For example, where the push program is a social application, the application server may be a social server associated with the social application; in the case where the push program is a shopping class application, the application server may be a shopping platform server associated with the shopping class application; in the case that the pushing procedure is an information-based application, the application server may be an information platform server associated with the information-based application; in the case where the push program is a navigation class application, the application server may be a navigation platform server associated with the navigation class application.
Step 102, the terminal displays the message content.
The message content is obtained by calling a push engine by the terminal to decrypt the ciphertext message based on a decryption password, wherein the decryption password is a password indicated by a decryption identifier in the push engine.
The decryption password may be understood as decryption data capable of performing decryption processing on a message encrypted based on encryption information indicated by the decryption identifier, where the decryption data includes, but is not limited to, a decryption algorithm, a key, and the like.
The message content can be displayed through a notification bar of the terminal.
It will be appreciated that the manner in which the message content is displayed by the terminal includes, but is not limited to, the manner described above, so long as the display of the message content on the terminal is enabled.
For example, in the case that the decryption password is a digest information decryption algorithm, the digest information decryption algorithm indicated by the decryption identifier "MD5-JKK" may decrypt the ciphertext message and obtain the decrypted message content for display at the terminal.
For another example, in the case where the decryption password is a key, the ciphertext message may be decrypted by using the key indicated by the decryption identifier "MY-dkd" and the decrypted message content may be obtained for display at the terminal.
In some embodiments of the present application, the terminal may invoke the push engine to receive the ciphertext message pushed by the application server, and after the push engine receives the ciphertext message, the terminal may also invoke the push engine, and decrypt the ciphertext message based on the password indicated by the encrypted identifier in the push engine, so as to obtain the decrypted message content, so as to display the message content at the terminal.
It can be understood that in the process that the application server pushes the ciphertext message to the pushing engine, the application server pushes the ciphertext message to the pushing platform first, and then the pushing platform pushes the ciphertext message to the pushing engine.
The application server can call the pushing platform interface to push the ciphertext message to the pushing platform, and the pushing platform pushes the ciphertext message to the pushing engine based on the long connecting channel, wherein the long connecting channel can be understood as an information transmission channel between the pushing platform and the pushing engine.
In some embodiments of the present application, in the process that the pushing platform pushes the ciphertext message to the pushing engine, the pushing platform encrypts the ciphertext message with the ciphertext message in a unified encryption manner, so as to implement secondary encryption processing of the message to be pushed, thereby further improving secure encryption transmission of the message to be pushed; after receiving the encrypted ciphertext message pushed by the pushing platform, the pushing engine firstly decrypts the encrypted ciphertext message by adopting a unified decryption mode based on an information transmission protocol between the pushing engine and the pushing platform, and obtains the ciphertext message; after the ciphertext message is obtained by the push engine, the ciphertext message is decrypted based on the password indicated by the encryption identifier of the push engine, and the message content is obtained, so that the message content is displayed on the terminal.
The decryption password can be a password preset and registered in the pushing engine or a password prestored in the pushing engine, so that after the pushing engine receives the ciphertext message, the corresponding decryption password can be determined based on the decryption identifier carried in the ciphertext message, and further decryption processing of the ciphertext message is realized.
The encryption information is information indicated by a decryption identifier, and the decryption password is a password indicated by the decryption identifier, that is, the encryption information and the decryption password can be understood as a group of encryption and decryption information. Therefore, the encrypted message after being encrypted based on the encryption information indicated by the decryption identification can be decrypted based on the decryption password indicated by the decryption identification, and the message content can be obtained.
In this way, a set of encryption and decryption logic is established between the application server and the pushing engine, so that in the process that the application server pushes messages to the pushing engine based on the pushing platform, the first encryption processing can be carried out on the messages to be pushed at the application server based on the set of encryption and decryption logic, and ciphertext messages can be obtained; pushing the ciphertext message to a pushing platform; when receiving the ciphertext message pushed by the application server, the pushing platform encrypts the ciphertext message based on a unified encryption mode of the pushing platform, so that secondary encryption processing of the message to be pushed is realized, the safety of the message to be pushed in the pushing process is improved, and safe encryption transmission is realized; after receiving the message to be pushed which is pushed by the pushing platform and is subjected to secondary encryption processing, the pushing engine firstly carries out decryption processing on the message to be pushed which is subjected to secondary encryption processing based on a unified decryption mode, and obtains ciphertext information, namely the message to be pushed which is only subjected to encryption processing by the application server is obtained, so that the leakage risk of the message to be pushed is reduced under the condition that the unified encryption and decryption mode between the pushing platform and the pushing engine is broken, and the safety of the message to be pushed is improved.
Further, the pushing engine can decrypt the ciphertext message based on encryption and decryption logic pre-established by the application server and the pushing engine, namely, the message to be pushed after being encrypted by the application server is decrypted, so as to obtain the message content; compared with the conventional message pushing process, namely, the unified encryption pushing mode based on the pushing platform and the pushing engine, the safety of pushing transmission of the message to be pushed can be effectively improved.
In addition, because the decryption password indicated by the decryption identifier is registered or stored in the push engine in advance, after the push engine receives the ciphertext message, the push engine can decrypt the ciphertext message based on the decryption password indicated by the decryption identifier in the push engine and obtain the message content, namely, the ciphertext message can be directly decrypted based on the push engine, and the display of the message content corresponding to the ciphertext message is realized relative to the situation that the push program needs to be pulled or started, so that the pull or the start of the push program can be avoided to realize the display of the message content corresponding to the ciphertext message, namely, the power consumption required by the pull or the start of the push program can be reduced, the purpose of reducing the power consumption of a terminal can be achieved, and the effect of saving electricity can be achieved.
Optionally, in the case that the decryption password includes a decryption algorithm, before receiving the ciphertext message sent by the application server, the method further includes:
the terminal calls a registration decryption algorithm interface of the push engine to determine a message decryption algorithm corresponding to the push program;
the terminal calls a decryption logic registration interface of the push engine to register the message decryption algorithm;
and under the condition that the message decryption algorithm is successfully registered, the terminal sends the decryption identification of the message decryption algorithm to the application server.
The above-mentioned registration decryption algorithm interface may be understood as an interface specification of the push engine, an interface specification for registering the decryption algorithm.
The above described decryption logical registration interface may be understood as another interface specification of the push engine, an interface specification for logically verifying the decryption algorithm.
In some embodiments of the present application, in the case where the decryption password includes a decryption algorithm, a decryption logic registration interface of the push engine may be invoked to realize registration of the message decryption algorithm, thereby realizing registration of the message decryption algorithm in the push engine; and sending the decryption identification of the message decryption algorithm to the application server under the condition that the message decryption algorithm is successfully registered.
When the application server pushes the message to the pushing program, the message to be pushed can be encrypted based on the encryption information indicated by the decryption identification, so that the encrypted ciphertext message is obtained; after receiving the ciphertext message, the push engine can decrypt the ciphertext message based on a decryption identifier carried in the ciphertext message and based on a decryption password indicated by the decryption identifier, namely, a message decryption algorithm, to obtain message content, so that the decryption process of the ciphertext message is realized in the push engine, and the pull-up or start-up of a push program is avoided to realize the display of the message content corresponding to the ciphertext message. By the processing, the transmission safety of the message to be pushed can be improved, the power consumption of the terminal can be reduced, and the effect of saving electricity is achieved.
Optionally, the calling the decryption logic registration interface of the push engine registers the message decryption algorithm, including:
the terminal calls a decryption logic registration interface of the push engine to perform first logic verification on the message decryption algorithm;
after the message decryption algorithm completes the first logic verification, the terminal stores the message decryption algorithm and dynamically loads the message decryption algorithm into a decryption sandbox.
The first logic verification may be understood as whether the decryption implementation class defined by the push program accords with the specification of the decryption interface of the push engine, and if the decryption implementation class defined by the push program accords with the specification of the decryption interface of the push engine, determining that the first logic verification is successful, so as to execute the subsequent steps; if the first logic check fails, the interface parameters may be adjusted to re-perform the logic check.
It is to be understood that the above interfaces including, but not limited to, registration decryption algorithm interfaces, decryption logic registration interfaces, etc. may be understood as an interface specification, and the implementation class may be understood as the content of implementing such an interface specification.
In addition, the logic verification is performed to verify whether the implementation class defined based on the push program, such as the decryption implementation class, meets the specification of the decryption interface of the push engine.
The decryption sandbox can be understood as a security application installed on the terminal and used for isolating a security environment and avoiding harassment information or virus information from invading the terminal; the push message received by the terminal can be stored in the decryption sandbox, and only the information which passes through the decryption can be displayed on the terminal so as to improve the security of the message receiving and displaying of the terminal.
In some embodiments of the present application, the security of the message receiving display may be further improved by dynamically loading the decryption algorithm into the decryption sandbox.
Optionally, in the case that the decryption password includes a key, before the receiving the ciphertext message sent by the application server, the method further includes:
the terminal determines a message key based on an encryption and decryption algorithm associated with the application server and the push program;
the terminal calls a key storage interface of the push engine to store the message key;
and under the condition that the message key is successfully stored, the terminal sends the decryption identification of the message key to a push program, so that the push program forwards the decryption identification to the application server.
The key storage interface may be understood as an interface specification of a push engine for storing character content.
In some embodiments of the present application, when the decryption password includes a key, a key storage interface of the push engine may be invoked to store the message key, thereby implementing storage of the message key in the push engine; and under the condition that the message key is successfully stored, the decryption identification of the message key is sent to the application server through the push program.
When the application server pushes the message to the pushing program, the message to be pushed can be encrypted based on the encryption information indicated by the decryption identification, so that the encrypted ciphertext message is obtained; after receiving the ciphertext message, the push engine can decrypt the ciphertext message based on a decryption identifier carried in the ciphertext message and based on a decryption password indicated by the decryption identifier, namely, a message key, to obtain message content, so that the decryption process of the ciphertext message is realized in the push engine, and the pull-up or start-up of a push program is avoided to realize the display of the message content corresponding to the ciphertext message. By the processing, the transmission safety of the message to be pushed can be improved, the power consumption of the terminal can be reduced, and the effect of saving electricity is achieved.
Optionally, the calling the key storage interface of the push engine stores the message key, including:
the terminal calls a key storage interface of the push engine to carry out second logic verification on the message key;
after the message key completes the second logic verification, the terminal stores the message key in the push engine.
The second logic check may be understood as whether the message key includes the encryption algorithm corresponding to the message key, that is, whether the encrypted information encrypted by the encryption algorithm corresponding to the message key can be decrypted by the message key, so as to verify the practicability of the message key.
And the second logic checks whether the format, the length and the like of the secret key meet the specifications corresponding to the secret key storage interface, and stores the secret key in the push engine under the condition that the format, the length and the like of the secret key meet the specifications corresponding to the secret key storage interface, so as to realize the storage of the secret key.
In the embodiment of the application, a ciphertext message pushed by an application server is received through a terminal, wherein the ciphertext message is received by a push engine called by the terminal, a decryption identifier is carried in the ciphertext message, and the ciphertext message is generated by the application server based on encryption information indicated by the decryption identifier and a message to be pushed; the terminal displays the message content, wherein the message content is obtained by the terminal calling a push engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the push engine. Therefore, the safety of transmission of the message to be pushed can be improved, the power consumption of the terminal can be reduced, and the effect of saving electricity is achieved.
Referring to fig. 2, fig. 2 is a flowchart of a message pushing method according to some embodiments of the present application. As shown in fig. 2, the message pushing method provided by the embodiment of the application includes the following steps:
step 201, an application server receives a password message sent by a push program, wherein the password message carries a decryption identifier.
The decryption identifier may be identification information, version information, etc. of the decryption password.
For example, in the case where the decryption password is a digest information decryption algorithm, the decryption identifier may be "MD5-JKK"; for another example, in the case where the decryption password is a key, the decryption identifier of the key may be "MY-dkd".
Step 202, the application server generates a ciphertext message based on the message to be pushed and the encryption information indicated by the decryption identifier.
The message to be pushed is a message pushed by the application server to the pushing program, and the ciphertext message carries the decryption identifier.
And 203, the application server calls a pushing platform interface to push the ciphertext message to the terminal so that the terminal displays the message content.
The message content is obtained by the terminal calling a push engine to decrypt the ciphertext message based on a decryption password, wherein the decryption password is a password indicated by the decryption identifier in the push engine
It should be noted that, in this embodiment, as an implementation manner of the application server corresponding to the embodiment shown in fig. 1, a specific implementation manner of the application server may refer to a related description in the embodiment shown in fig. 1, and in order to avoid repetitive description, this embodiment is not repeated.
Optionally, in the case that the decryption password includes a decryption algorithm, the application server receives a password message sent by a push program, including:
the application server receives a password message sent by a push program under the condition that the message decryption algorithm is successfully registered in a push engine of the terminal;
wherein the decryption identifier is an identifier indicating a message decryption algorithm.
In the case where the decryption password is a decryption algorithm, the decryption flag may be "MD5-JKK", or "AES-JFU", or the like.
Optionally, in the case that the decryption password includes a key, the application server receives a password message sent by a push program, including:
the application server receives a password message sent by a push program under the condition that the message key is successfully stored in a push engine of the terminal;
wherein the decryption identifier is an identifier indicating a message key.
In the case where the decryption password is a key, the key identification may be "MY-dkd", or "MY-SKI", or the like.
The foregoing optional implementation manner may refer to the related description in the embodiment shown in fig. 1, and in order to avoid repetitive description, this embodiment is not repeated.
In the embodiment of the application, an application server receives a password message sent by a push program, wherein the password message carries a decryption identifier; the application server generates a ciphertext message based on the message to be pushed and the encryption information indicated by the decryption identifier, wherein the message to be pushed is the message pushed to the pushing program by the application server, and the ciphertext message carries the decryption identifier; the application server calls a pushing platform interface to push the ciphertext message to the terminal so that the terminal displays message content, wherein the message content is obtained by the terminal calling a pushing engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the pushing engine. Therefore, the safety of transmission of the message to be pushed can be improved, the power consumption of the terminal can be reduced, and the effect of saving electricity is achieved.
Referring to fig. 3, fig. 3 is a flowchart of a message pushing method according to some embodiments of the present application. The message pushing method provided by the embodiment of the application can be used for a message pushing system, and the message pushing system comprises the following steps: the system comprises a developer, a push platform, a notification bar, a push engine, a push program and a user, wherein the developer can be understood as an application developer of the push program, namely an application server associated with the push program, the notification bar can be understood as a message notification bar of the terminal, the push engine can be understood as a push service application installed on the terminal, and the push program can be understood as the push program installed on the terminal.
It can be understood that the message pushing method according to the embodiment of the present application includes a pre-registration stage and a message decryption stage.
As shown in fig. 3, the pre-registration phase includes the steps of:
step 3011, running a push program, and starting a message decryption algorithm for registration.
A push program may be run on the handset terminal to initiate registration of the message decryption algorithm.
Step 3012, determining a message decryption algorithm corresponding to the push program, and registering the message decryption algorithm based on a decryption logic composition interface of the push engine.
A message decryption algorithm corresponding to the push program can be determined based on a selection operation of a user; the decryption algorithm agreed by the application developer with the push program can also be determined as the message decryption algorithm.
The application developer can implement specific decryption logic defined in the interface method of the decryption interface according to the decryption interface agreed in advance to determine a specific decryption algorithm. For example, the push program may determine a decryption algorithm corresponding to the push program through a registered decryption algorithm interface provided by a software development kit (Software Development Kit, SDK) of the push engine.
Among them, the decryption interface method definition includes, but is not limited to, an initialization method, a decryption method, and a logout method.
After determining the decryption algorithm, the application developer can call a decryption logic registration interface of the push engine, and transfer the name, the algorithm identification, the version number, the decryption algorithm realization class and the like of the decryption algorithm to the registration interface of the push engine to realize the registration of the decryption algorithm; after successful registration, the registration interface returns the identification information corresponding to the decryption algorithm, and the application developer stores the identification information so as to follow the information to manage the decryption algorithm, such as inquiring, modifying, deleting and the like.
The push engine performs decryption algorithm registration after finishing relevant logic verification, wherein the decryption algorithm registration mode comprises the steps of storing classes transmitted by a developer and dynamically loading the classes into different security sandboxes, the security sandboxes intercept code logic with risks, preload the classes in the sandboxes and perform basic use case verification.
As shown in fig. 4, the registration process of the message decryption algorithm includes the steps of:
step 401, performing logic verification on a message decryption algorithm.
The above logical check can be understood as whether the decryption implementation class defined by the push program meets the decryption interface specification of the push engine, i.e. whether the message decryption algorithm meets the decryption interface specification of the push engine.
Step 402, it is determined whether the message decryption algorithm passes the logic verification.
Wherein, in case the message decryption algorithm passes the logic verification, step 403 is performed; if the message decryption algorithm fails the logic verification, ending the flow.
In some embodiments, in the event that the message decryption algorithm fails the logical check, the logical check may also be performed again by adjusting the interface parameters.
Step 403, dynamically loading the message decryption algorithm with the logic verification completed into the security sandbox.
By dynamically loading the message decryption algorithm into the security sandbox, the security of the message can be improved based on the security policy of the security sandbox.
The secure sandboxes comprise decryption sandboxes, initialization sandboxes, cancellation sandboxes and the like, and different secure sandboxes have different strategies, for example, the decryption sandboxes do not allow networking and time-consuming operations, and the initialization sandboxes control the maximum loading memory data amount and the like.
Step 404, after the message decryption algorithm is dynamically loaded into the secure sandbox, an indication message of successful registration is output.
The indication information of successful registration is output to inform the push program that the message decryption algorithm is successful in registration, so that the push program can perform subsequent other operations.
Step 3013, after the message decryption algorithm is successfully registered, a registration result is returned.
After the decryption algorithm registration is successfully completed, a callback method is used for notifying a push program registration result so as to notify that the push program registration is successful or failed.
Step 3014, reporting the identification information to the application server under the condition that the message decryption algorithm is successfully registered.
After receiving the receipt of successful registration, the push program reports the receipt to a developer background server, namely an application server, which stores the registration state and unique identifier of the application and records that the application under the current device has successfully completed registration of the decryption algorithm
Step 3015, closing the pushing program, and ending the registration flow of the message decryption algorithm.
The user may close the application on the mobile terminal.
As shown in fig. 3, the message decryption phase includes the steps of:
and 3021, generating a ciphertext message based on the message to be pushed and the encryption information indicated by the decryption identifier, and sending the ciphertext message to the push platform.
The application developer can call the pushing platform interface to send the ciphertext message corresponding to the device registration decryption password recorded before, and the information such as the algorithm identification, the version and the like corresponding to the ciphertext message is identified in the message header abstract of the ciphertext message.
Step 3022, pushing the ciphertext message to a push engine of the terminal.
After receiving the ciphertext message sent by the application developer, the pushing platform finds the target equipment address of the message, and pushes the ciphertext message to a pushing engine of the mobile phone terminal corresponding to the target equipment address through the long connecting channel.
And 3023, the terminal calls a message decryption algorithm indicated by the decryption identifier in the push engine to decrypt the ciphertext message, so as to obtain the message content.
After receiving the ciphertext message, the pushing engine can determine a pushing program and decryption logic through the abstract identifier carried in the ciphertext message, and complete decryption of the ciphertext message by calling a method loaded in the secure sandbox in advance.
Step 3024, displaying the message content in a notification bar of the terminal.
After decryption is completed, the push engine directly calls a notification bar interface, and the decrypted message content is displayed in the notification bar.
Step 3025, after the notification bar is displayed successfully, returning a successful status receipt.
Step 3026, after receiving the receipt, the pushing engine reports the receipt to the pushing platform.
Step 3027, returning a receipt of the message to be pushed, wherein the message to be pushed is pushed successfully.
The push platform informs the developer of the receipt status through a callback address pre-configured by the developer so as to determine that the message is successfully sent.
In some embodiments of the application, by preloading the decryption logic into the secure sandbox of the push engine in advance, when the mobile phone terminal receives the self-defined encryption information of the developer, the mobile phone terminal directly invokes the self-defined decryption algorithm logic in the secure sandbox to complete decryption without pulling up the push program, and the situation that the push program is pulled up for decryption is effectively avoided. The push program continues to run in the background of the mobile phone terminal to generate electricity consumption.
Referring to fig. 5, fig. 5 is a flowchart of a message pushing method according to some embodiments of the present application. The message pushing method provided by the embodiment of the application can be used for a message pushing system, and the message pushing system comprises the following steps: the system comprises a developer, a push platform, a notification bar, a push engine, a push program and a user, wherein the developer can be understood as an application developer of the push program, namely an application server associated with the push program, the notification bar can be understood as a message notification bar of the terminal, the push engine can be understood as a push service application installed on the terminal, and the push program can be understood as the push program installed on the terminal.
It can be understood that the message pushing method according to the embodiment of the present application includes a pre-registration stage and a message decryption stage.
As shown in fig. 5, the pre-registration phase includes the steps of:
step 5011, running a push program, and starting message key storage.
The push program can be run on the mobile phone terminal and the message key storage is started.
And step 5012, determining a message key based on an encryption and decryption algorithm associated with the application server and the push program, and calling a key storage interface of the push engine to store the message key.
An application developer can acquire a user key of a contracted encryption algorithm from an application server by an application; the application developer calls a key storage interface of the push engine through the push program, then stores the message key to the push engine through a method for storing the key provided by the SDK of the push engine, and stores the message key after the push engine completes relevant logic verification; and identifying a decryption algorithm provided by a push engine corresponding to the key by default according to the information transmitted by the push program.
And step 5013, after the message key is successfully stored, returning a storage result.
After the message key is successfully stored, the callback method is used for notifying the push program that the message key is successfully or unsuccessfully stored, the interface also returns identification information corresponding to the message key, an application developer stores the message key in the push program, and then the key is subjected to query, modification, deletion and other management according to the information.
And step 5014, reporting the identification information to the application server under the condition that the message secret key is successfully stored.
After receiving the receipt of successful storage, the push program reports to a developer background server, namely an application server, and the server stores the key state and the unique identifier of the push program and records that the application under the current equipment has successfully completed storage of the message key.
And step 5015, closing the pushing program and ending the storage flow of the message key.
The user may close the application on the mobile terminal.
As shown in fig. 5, the message decryption phase includes the steps of:
step 5021, generating a ciphertext message based on the message to be pushed and the encryption information indicated by the decryption identifier, and sending the ciphertext message to the push platform.
The application developer stores the information through the key recorded before, and calls the pushing platform interface to send the ciphertext message corresponding to the information (including but not limited to the decryption version, the decryption algorithm and the like).
Step 5022, pushing the ciphertext message to a pushing engine of the terminal.
After receiving the ciphertext message sent by the application developer, the pushing platform finds the target equipment address of the message, and pushes the ciphertext message to a pushing engine of the mobile phone terminal corresponding to the target equipment address through the long connecting channel.
And 5023, the terminal calls a message decryption algorithm indicated by the decryption identifier in the push engine to decrypt the ciphertext message, so as to obtain the message content.
After receiving the ciphertext message, the pushing engine can identify the algorithm identification, version and other information corresponding to the ciphertext message in the message header abstract of the ciphertext message; then determining the pushing program and the corresponding key and decryption algorithm through the information, reading the key, and directly decrypting the message through the key.
Step 5024, displaying the message content in the notification bar of the terminal.
After decryption is completed, the push engine directly calls a notification bar interface, and the decrypted message content is displayed in the notification bar.
And step 5025, returning a successful status receipt after the notification bar is successfully displayed.
Step 5026, after receiving the receipt, the pushing engine reports the receipt to the pushing platform.
And 5027, returning a receipt of the message to be pushed, wherein the message to be pushed is pushed successfully.
The push platform informs the developer of the receipt status through a callback address pre-configured by the developer so as to determine that the message is successfully sent.
In some embodiments of the present application, the key of the push program generated by the application developer is stored in advance in the push engine, when the mobile phone terminal receives the self-defined encrypted message of the application developer, the decryption method provided by the default of the push engine is called, and the decryption is performed by the pre-stored key, so that the push program is not required to be pulled up, the push program is prevented from obtaining the key by pulling up the push program, and the push program continues to run in the background of the mobile phone terminal to generate the power consumption condition.
In some embodiments of the present application, the message pushing method includes the following steps:
in step S1, when the application server needs to push the message to be pushed to the pushing program, the message to be pushed may be encrypted by a decryption algorithm indicated by the decryption identifier, so as to obtain an encrypted ciphertext message, where the ciphertext message carries the decryption identifier.
Step S2, the application server can call the pushing platform to accelerate pushing of the ciphertext message to the pushing platform.
And S3, after receiving the ciphertext message pushed by the application server, the pushing platform can encrypt the ciphertext message based on a unified encryption mode of the pushing screen so as to obtain a secondary ciphertext message.
And S4, pushing the secondary ciphertext message to a pushing engine of the terminal by the pushing platform based on the long connection channel.
Step S5, after receiving the secondary ciphertext message pushed by the pushing platform, the pushing engine of the terminal can decrypt the secondary ciphertext message based on a unified decryption mode to obtain the ciphertext message; after the ciphertext message is obtained, the ciphertext message can be decrypted based on a decryption identifier carried in the ciphertext message and based on a decryption password indicated by the decryption identifier, so as to obtain decrypted message content.
And step S6, displaying the decrypted message content in a notification bar of the terminal so that a user can check the message content pushed by the application server.
And S7, after the decrypted message content is successfully displayed in a notification bar of the terminal, returning a status receipt of successful display to the push engine.
Step S8, after receiving the status receipt successfully displayed, the pushing engine sends the status receipt to the pushing platform through the long connecting channel so that the pushing platform sends the status receipt to the application server to realize pushing and displaying of the message to be pushed.
For example, in the process that the news platform server pushes news information to the news pushing program, encryption and decryption logic pre-established between the pushing engine of the terminal and the news platform server can be based on identification information returned by the news pushing program to the news platform server, wherein the identification information is decryption identification associated with decryption passwords registered by the news pushing program server in the pushing engine.
In the process of pushing news messages by the news platform server, the news platform server firstly encrypts the news messages to be pushed based on an encryption algorithm indicated by a decryption identifier, and generates corresponding ciphertext messages; then, a pushing platform interface is called, and the ciphertext message is pushed to the pushing platform; after receiving the ciphertext message, the pushing platform encrypts the ciphertext message based on a unified encryption mode and generates a secondary ciphertext message; the secondary ciphertext message can be pushed to the pushing engine by the pushing platform based on a long connecting channel between the pushing platform and the pushing engine, so that pushing of the message to be pushed is realized; after receiving the secondary ciphertext message pushed by the pushing platform, the pushing engine firstly decrypts the secondary ciphertext message based on a unified decryption mode, and obtains the ciphertext message; after the secondary ciphertext message is decrypted into the ciphertext message, the pushing engine can decrypt the ciphertext message based on a decryption identifier carried in the ciphertext message and based on a message encryption algorithm or a message key indicated by the decryption identifier, and obtain corresponding message content, so that the decrypted message content can be directly displayed in a notification bar of the terminal.
Referring to fig. 6, fig. 6 is a block diagram of a terminal provided in some embodiments of the present application, and as shown in fig. 6, the terminal 600 includes:
the receiving module 601 is configured to receive a ciphertext message pushed by an application server, where the ciphertext message is received by the terminal by calling a push engine, the ciphertext message carries a decryption identifier, and the ciphertext message is generated by the application server based on encryption information indicated by the decryption identifier and a message to be pushed;
the display module 602 is configured to display a message content, where the message content is a message content obtained by the terminal calling a push engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the push engine.
Optionally, the application server is a server associated with a push program of the terminal, and the message to be pushed is a message pushed to the push program by the application server;
the ciphertext message is a message pushed by the application server by calling a pushing platform interface;
the decryption password comprises at least one of the following: key, decryption algorithm.
Optionally, in the case that the decryption password includes a decryption algorithm, the terminal 600 further includes:
The processing module is used for calling a registration decryption algorithm interface of the push engine and determining a message decryption algorithm corresponding to the push program;
the registration module is used for calling a decryption logic registration interface of the push engine by the terminal and registering the message decryption algorithm;
and the sending module is used for sending the decryption identification of the message decryption algorithm to the application server by the terminal under the condition that the message decryption algorithm is successfully registered.
Optionally, the registration module is specifically configured to invoke a decryption logic registration interface of the push engine to perform a first logic check on the message decryption algorithm; and the terminal is used for storing the message decryption algorithm after the message decryption algorithm completes the first logic verification, and dynamically loading the message decryption algorithm into a decryption sandbox.
Optionally, in the case that the decryption password includes a key, the terminal 600 further includes:
the processing module is used for determining a message key based on an encryption and decryption algorithm associated with the application server and the push program;
the storage module is used for calling a key storage interface of the push engine by the terminal and storing the message key;
And the sending module is used for sending the decryption identification of the message key to a push program by the terminal under the condition that the message key is successfully stored, so that the push program forwards the decryption identification to the application server.
Optionally, the storage module is specifically configured to invoke a key storage interface of the push engine by the terminal, and perform a second logic check on the message key; and the terminal is used for storing the message key in the push engine after the message key completes the second logic verification.
The terminal 600 in the embodiment of the present application may be a mobile phone, a tablet computer, a notebook computer, a palm computer, a vehicle-mounted terminal, a mobile internet device (Mobile Internet Device, MID), an augmented Reality (Augmented Reality, AR)/Virtual Reality (VR) device, a robot, a wearable device, an Ultra-Mobile Personal Computer, a UMPC, an internet book or a personal digital assistant (Personal Digital Assistant, PDA), a network attached storage (Network Attached Storage, NAS), a personal computer (Personal Computer, PC), a Television (Television, TV), a teller machine or a self-service machine, etc., which is not particularly limited.
The terminal 600 in the embodiment of the present application may be a terminal having an operating system. The operating system may be an Android operating system, an ios operating system, or other possible operating systems, and the embodiment of the present application is not limited specifically.
The terminal 600 provided in the embodiment of the present application can implement each process implemented by the method embodiment of fig. 1, and in order to avoid repetition, a description is omitted here.
Referring to fig. 7, fig. 7 is a block diagram of an application server provided in some embodiments of the present application, and as shown in fig. 7, the application server 700 includes:
the receiving module 701 is configured to receive a cryptographic message sent by a push program, where the cryptographic message carries a decryption identifier;
the ciphertext generating module 702 is configured to generate a ciphertext message based on a message to be pushed and encryption information indicated by the decryption identifier, where the message to be pushed is a message pushed by the application server to the push program, and the ciphertext message carries the decryption identifier;
the pushing module 703 is configured to invoke a pushing platform interface, push the ciphertext message to a terminal, so that the terminal displays a message content, where the message content is a message content obtained by the terminal invoking a pushing engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the pushing engine.
Optionally, in the case that the decryption password includes a decryption algorithm, the receiving module 701 is specifically configured to receive a password message sent by a push program when the message decryption algorithm is successfully registered in a push engine of the terminal;
wherein the decryption identifier is an identifier indicating a message decryption algorithm.
Optionally, in the case that the decryption password includes a key, the receiving module 701 is specifically configured to receive a password message sent by a push program when the message key is successfully stored in a push engine of the terminal;
wherein the decryption identifier is an identifier indicating a message key.
The application server 700 in the embodiment of the present application may be a server having an operating system. The operating system may be an Android operating system, an ios operating system, or other possible operating systems, and the embodiment of the present application is not limited specifically.
The application server 700 provided in the embodiment of the present application can implement each process implemented by the method embodiment of fig. 2, and in order to avoid repetition, a description is omitted here.
Referring to fig. 8, fig. 8 is a block diagram of a communication device provided by some embodiments of the present application. As shown in fig. 8, the communication device 800 includes a processor 801 and a memory 802, and the memory 802 stores programs or instructions executable on the processor 801. For example, when the communication device 800 is a terminal, the program or the instruction, when executed by the processor 801, implements the steps of the method embodiment on the terminal side, and the same technical effects can be achieved, so that repetition is avoided, and detailed description is omitted herein; when the communication device 800 is an application server, the program or the instructions when executed by the processor 801 implement the steps of the method embodiment on the application server side, and the same technical effects can be achieved, so that repetition is avoided and detailed description is omitted.
Referring to fig. 9, fig. 9 is a block diagram of an electronic device provided by some embodiments of the application. As shown in fig. 9, the electronic device 900 includes, but is not limited to: radio frequency unit 901, network module 902, audio output unit 903, input unit 904, sensor 905, display unit 906, user input unit 907, interface unit 908, memory 909, and processor 910.
Those skilled in the art will appreciate that the electronic device 900 may also include a power source (e.g., a battery) for powering the various components, which may be logically connected to the processor 910 by a power management system to perform functions such as managing charge, discharge, and power consumption by the power management system. The terminal structure shown in fig. 9 does not constitute a limitation of the terminal, and the terminal may include more or less components than shown, or may combine some components, or may be arranged in different components, which will not be described in detail herein.
The interface unit 908 is configured to receive a ciphertext message pushed by an application server, where the ciphertext message is received by the terminal by calling a push engine, the ciphertext message carries a decryption identifier, and the ciphertext message is generated by the application server based on encryption information indicated by the decryption identifier and a message to be pushed;
And the display unit 906 is configured to display a message content, where the message content is a message content obtained by the terminal calling a push engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the push engine.
Optionally, the application server is a server associated with a push program of the terminal, and the message to be pushed is a message pushed to the push program by the application server;
the ciphertext message is a message pushed by the application server by calling a pushing platform interface;
the decryption password comprises at least one of the following: key, decryption algorithm.
Optionally, in the case that the decryption password includes a decryption algorithm, the processor 910 is configured to invoke a registered decryption algorithm interface of the push engine by the terminal, and determine a message decryption algorithm corresponding to the push program; the decryption logic registration interface is used for calling the pushing engine and registering the message decryption algorithm; and the terminal is used for sending the decryption identification of the message decryption algorithm to the application server under the condition that the message decryption algorithm is successfully registered.
Optionally, the processor 910 is configured to invoke a decryption logic registration interface of the push engine to perform a first logic check on the message decryption algorithm; and the terminal is used for storing the message decryption algorithm after the message decryption algorithm completes the first logic verification, and dynamically loading the message decryption algorithm into a decryption sandbox.
Optionally, in the case that the decryption password includes a key, the processor 910 is configured to determine a message key based on an encryption and decryption algorithm associated with the application server and the push program; and a key storage interface for invoking the push engine to store the message key; and the terminal is used for sending the decryption identification of the message key to a push program under the condition that the message key is successfully stored, so that the push program forwards the decryption identification to the application server.
Optionally, the processor 910 is configured to invoke a key storage interface of the push engine to perform a second logical check on the message key; and the terminal is used for storing the message key in the push engine after the message key completes the second logic verification.
It should be appreciated that in an embodiment of the present application, the input unit 904 may include a graphics processor (Graphics Processing Unit, GPU) 9041 and a microphone 9042, and the graphics processor 9041 processes image data of still pictures or video obtained by an image capturing device (such as a camera) in a video capturing mode or an image capturing mode. The display unit 906 may include a display panel 9061, and the display panel 9061 may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like. The user input unit 907 includes at least one of a touch panel 9071 and other input devices 9072. Touch panel 9071, also referred to as a touch screen. The touch panel 9071 may include two parts, a touch detection device and a touch controller. Other input devices 9072 may include, but are not limited to, a physical keyboard, function keys (e.g., volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and so forth, which are not described in detail herein.
The memory 909 may be used to store software programs as well as various data. The memory 909 may mainly include a first storage area storing programs or instructions and a second storage area storing data, wherein the first storage area may store an operating system, application programs or instructions (such as a sound playing function, an image playing function, etc.) required for at least one function, and the like. Further, the memory 909 may include a volatile memory or a nonvolatile memory, or the memory 909 may include both volatile and nonvolatile memories. The nonvolatile Memory may be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable EPROM (EEPROM), or a flash Memory. The volatile memory may be random access memory (Random Access Memory, RAM), static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (ddr SDRAM), enhanced SDRAM (Enhanced SDRAM), synchronous DRAM (SLDRAM), and Direct RAM (DRRAM). Memory 909 in embodiments of the application includes, but is not limited to, these and any other suitable types of memory.
Processor 910 may include one or more processing units; optionally, the processor 910 integrates an application processor that primarily processes operations involving an operating system, user interface, application programs, etc., and a modem processor that primarily processes wireless communication signals, such as a baseband processor. It will be appreciated that the modem processor described above may not be integrated into the processor 910.
Referring to fig. 10, fig. 10 is a block diagram of an application server according to an embodiment of the present application. As shown in fig. 10, the application server 1000 includes: a processor 1001, a network interface 1002, and a memory 1003. The network interface 1002 is, for example, a common public radio interface (common public radio interface, CPRI).
Specifically, the application server 1000 of the embodiment of the present application further includes: instructions or programs stored in the memory 1003 and executable on the processor 1001, the processor 1001 calls the instructions or programs in the memory 1003 to execute the method executed by each module shown in fig. 7, and achieve the same technical effect, so that repetition is avoided, and therefore, the description is omitted here.
The embodiment of the application also provides a readable storage medium, on which a program or an instruction is stored, which when executed by a processor, implements each process of the above-mentioned message pushing method embodiment, and can achieve the same technical effects, so that repetition is avoided, and no further description is given here.
The processor is a processor in the terminal or the application server described in the above embodiment. The readable storage medium includes computer readable storage medium such as computer readable memory ROM, random access memory RAM, magnetic or optical disk, etc.
The embodiment of the application further provides a chip, which comprises a processor and a communication interface, wherein the communication interface is coupled with the processor, and the processor is used for running programs or instructions to realize the processes of the message pushing method embodiment, and the same technical effects can be achieved, so that repetition is avoided, and the description is omitted here.
It should be understood that the chips referred to in the embodiments of the present application may also be referred to as system-on-chip chips, chip systems, or system-on-chip chips, etc.
Embodiments of the present application provide a computer program product stored in a storage medium, where the program product is executed by at least one processor to implement the respective processes of the message pushing method embodiment described above, and achieve the same technical effects, and for avoiding repetition, a detailed description is omitted herein.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element. Furthermore, it should be noted that the scope of the methods and apparatus in the embodiments of the present application is not limited to performing the functions in the order shown or discussed, but may also include performing the functions in a substantially simultaneous manner or in an opposite order depending on the functions involved, e.g., the described methods may be performed in an order different from that described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a computer software product stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) comprising instructions for causing a terminal (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the method according to the embodiments of the present application.
The embodiments of the present application have been described above with reference to the accompanying drawings, but the present application is not limited to the above-described embodiments, which are merely illustrative and not restrictive, and many forms may be made by those having ordinary skill in the art without departing from the spirit of the present application and the scope of the claims, which are to be protected by the present application.

Claims (20)

1. A message pushing method, comprising:
the method comprises the steps that a terminal receives ciphertext information pushed by an application server, the ciphertext information is received by a pushing engine called by the terminal, decryption identifiers are carried in the ciphertext information, and the ciphertext information is generated by the application server based on encryption information indicated by the decryption identifiers and information to be pushed;
the terminal displays the message content, wherein the message content is obtained by the terminal calling a push engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the push engine.
2. The method according to claim 1, wherein the application server is a server associated with a push program of the terminal, and the message to be pushed is a message pushed to the push program by the application server;
the ciphertext message is a message pushed by the application server by calling a pushing platform interface;
the decryption password comprises at least one of the following: key, decryption algorithm.
3. The method of claim 2, wherein, in the case where the decryption password comprises a decryption algorithm, the method further comprises, prior to receiving the ciphertext message sent by the application server:
The terminal calls a registration decryption algorithm interface of the push engine to determine a message decryption algorithm corresponding to the push program;
the terminal calls a decryption logic registration interface of the push engine to register the message decryption algorithm;
and under the condition that the message decryption algorithm is successfully registered, the terminal sends the decryption identification of the message decryption algorithm to the application server.
4. The method of claim 3, wherein the invoking the decryption logic registration interface of the push engine to register the message decryption algorithm comprises:
the terminal calls a decryption logic registration interface of the push engine to perform first logic verification on the message decryption algorithm;
after the message decryption algorithm completes the first logic verification, the terminal stores the message decryption algorithm and dynamically loads the message decryption algorithm into a decryption sandbox.
5. The method of claim 2, wherein, in the case where the decryption password includes a key, the method further comprises, prior to receiving the ciphertext message sent by the application server:
the terminal determines a message key based on an encryption and decryption algorithm associated with the application server and the push program;
The terminal calls a key storage interface of the push engine to store the message key;
and under the condition that the message key is successfully stored, the terminal sends the decryption identification of the message key to a push program, so that the push program forwards the decryption identification to the application server.
6. The method of claim 5, wherein the invoking the key store interface of the push engine to store the message key comprises:
the terminal calls a key storage interface of the push engine to carry out second logic verification on the message key;
after the message key completes the second logic verification, the terminal stores the message key in the push engine.
7. A message pushing method, comprising:
the method comprises the steps that an application server receives a password message sent by a push program, wherein the password message carries a decryption identifier;
the application server generates a ciphertext message based on the message to be pushed and the encryption information indicated by the decryption identifier, wherein the message to be pushed is the message pushed to the pushing program by the application server, and the ciphertext message carries the decryption identifier;
The application server calls a pushing platform interface to push the ciphertext message to the terminal so that the terminal displays message content, wherein the message content is obtained by the terminal calling a pushing engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the pushing engine.
8. The method of claim 7, wherein, in the case where the decryption password comprises a decryption algorithm, the application server receives a password message sent by a push program, comprising:
the application server receives a password message sent by a push program under the condition that the message decryption algorithm is successfully registered in a push engine of the terminal;
wherein the decryption identifier is an identifier indicating a message decryption algorithm.
9. The method of claim 7, wherein, in the case where the decryption password includes a key, the application server receives a password message sent by a push program, comprising:
the application server receives a password message sent by a push program under the condition that the message key is successfully stored in a push engine of the terminal;
Wherein the decryption identifier is an identifier indicating a message key.
10. A terminal, comprising:
the receiving module is used for receiving ciphertext messages pushed by the application server, wherein the ciphertext messages are received by the terminal calling pushing engine, decryption identifiers are carried in the ciphertext messages, and the ciphertext messages are generated by the application server based on encryption information indicated by the decryption identifiers and messages to be pushed;
the display module is used for displaying message content, wherein the message content is obtained by the terminal calling a pushing engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the pushing engine.
11. The terminal according to claim 10, wherein the application server is a server associated with a push program of the terminal, and the message to be pushed is a message pushed to the push program by the application server;
the ciphertext message is a message pushed by the application server by calling a pushing platform interface;
the decryption password comprises at least one of the following: key, decryption algorithm.
12. The terminal according to claim 11, wherein in case the decryption password comprises a decryption algorithm, the terminal further comprises:
the processing module is used for calling a registration decryption algorithm interface of the push engine and determining a message decryption algorithm corresponding to the push program;
the registration module is used for calling a decryption logic registration interface of the push engine by the terminal and registering the message decryption algorithm;
and the sending module is used for sending the decryption identification of the message decryption algorithm to the application server by the terminal under the condition that the message decryption algorithm is successfully registered.
13. The terminal according to claim 12, wherein the registration module is specifically configured to invoke a decryption logical registration interface of the push engine to perform a first logical check on the message decryption algorithm; and the terminal is used for storing the message decryption algorithm after the message decryption algorithm completes the first logic verification, and dynamically loading the message decryption algorithm into a decryption sandbox.
14. The terminal according to claim 11, wherein in case the decryption password comprises a key, the terminal further comprises:
The processing module is used for determining a message key based on an encryption and decryption algorithm associated with the application server and the push program;
the storage module is used for calling a key storage interface of the push engine by the terminal and storing the message key;
and the sending module is used for sending the decryption identification of the message key to a push program by the terminal under the condition that the message key is successfully stored, so that the push program forwards the decryption identification to the application server.
15. The terminal according to claim 14, wherein the storage module is specifically configured to invoke a key storage interface of the push engine by the terminal to perform a second logical check on the message key; and the terminal is used for storing the message key in the push engine after the message key completes the second logic verification.
16. An application server, comprising:
the receiving module is used for receiving the password message sent by the pushing program, wherein the password message carries a decryption identifier;
the ciphertext generating module is used for generating ciphertext information based on information to be pushed and encryption information indicated by the decryption identifier, wherein the information to be pushed is information pushed to the pushing program by the application server, and the ciphertext information carries the decryption identifier;
The pushing module is used for calling a pushing platform interface to push the ciphertext message to the terminal so that the terminal can display the message content, wherein the message content is obtained by the terminal calling a pushing engine to decrypt the ciphertext message based on a decryption password, and the decryption password is a password indicated by the decryption identifier in the pushing engine.
17. The application server according to claim 16, wherein in case the decryption password comprises a decryption algorithm, the receiving module is specifically configured to receive a password message sent by a push program in case the message decryption algorithm is successfully registered in a push engine of the terminal;
wherein the decryption identifier is an identifier indicating a message decryption algorithm.
18. The application server according to claim 16, wherein in case the decryption key comprises a key, the receiving module is specifically configured to receive a cryptographic message sent by a push program in case the message key is successfully stored in a push engine of the terminal;
wherein the decryption identifier is an identifier indicating a message key.
19. An electronic device comprising a processor and a memory, the memory having stored thereon a program or instructions executable on the processor, which when executed by the processor, implement the steps of the message pushing method according to any of claims 1 to 6.
20. An application server comprising a processor and a memory having stored thereon a program or instructions executable on the processor, which when executed by the processor, implement the steps of the message pushing method according to any of claims 7 to 9.
CN202311078702.7A 2023-08-25 2023-08-25 Message pushing method, terminal, electronic equipment and application server Pending CN116886767A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311078702.7A CN116886767A (en) 2023-08-25 2023-08-25 Message pushing method, terminal, electronic equipment and application server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311078702.7A CN116886767A (en) 2023-08-25 2023-08-25 Message pushing method, terminal, electronic equipment and application server

Publications (1)

Publication Number Publication Date
CN116886767A true CN116886767A (en) 2023-10-13

Family

ID=88255276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311078702.7A Pending CN116886767A (en) 2023-08-25 2023-08-25 Message pushing method, terminal, electronic equipment and application server

Country Status (1)

Country Link
CN (1) CN116886767A (en)

Similar Documents

Publication Publication Date Title
CN110492990B (en) Private key management method, device and system under block chain scene
CN107743133B (en) Mobile terminal and access control method and system based on trusted security environment
CN106899552B (en) Authentication method, authentication terminal and system
KR101878149B1 (en) Device, system, and method of secure entry and handling of passwords
EP2095288B1 (en) Method for the secure storing of program state data in an electronic device
CN106899571B (en) Information interaction method and device
CN111404696B (en) Collaborative signature method, security service middleware, related platform and system
US20200104528A1 (en) Data processing method, device and system
CN110290102A (en) Service security system and method based on application
CN112765684B (en) Block chain node terminal management method, device, equipment and storage medium
US20230161918A1 (en) Key management method, key management device, and computing device
US20110202772A1 (en) Networked computer identity encryption and verification
US9367700B2 (en) System and method for establishing a shared secret for communication between different security domains
CN112765626A (en) Authorization signature method, device and system based on escrow key and storage medium
WO2008053279A1 (en) Logging on a user device to a server
CN114598541A (en) Security assessment method and device, electronic equipment and readable storage medium
US20240106633A1 (en) Account opening methods, systems, and apparatuses
US7779269B2 (en) Technique for preventing illegal invocation of software programs
CN113032753A (en) Identity verification method and device
CN110659474B (en) Inter-application communication method, device, terminal and storage medium
WO2023061320A1 (en) Device identifier counterfeiting prevention method and apparatus, and electronic device
CN108154037B (en) Inter-process data transmission method and device
CN117751551A (en) System and method for secure internet communications
CN116886767A (en) Message pushing method, terminal, electronic equipment and application server
KR20180129302A (en) Method for executing of security keyboard, apparatus and system for executing the method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination