WO2015180691A1 - 验证信息的密钥协商方法及装置 - Google Patents

验证信息的密钥协商方法及装置 Download PDF

Info

Publication number
WO2015180691A1
WO2015180691A1 PCT/CN2015/080338 CN2015080338W WO2015180691A1 WO 2015180691 A1 WO2015180691 A1 WO 2015180691A1 CN 2015080338 W CN2015080338 W CN 2015080338W WO 2015180691 A1 WO2015180691 A1 WO 2015180691A1
Authority
WO
WIPO (PCT)
Prior art keywords
verification information
target application
terminal
key
network device
Prior art date
Application number
PCT/CN2015/080338
Other languages
English (en)
French (fr)
Inventor
胡宇光
Original Assignee
北京奇虎科技有限公司
奇智软件(北京)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京奇虎科技有限公司, 奇智软件(北京)有限公司 filed Critical 北京奇虎科技有限公司
Priority to US15/315,205 priority Critical patent/US20170208049A1/en
Publication of WO2015180691A1 publication Critical patent/WO2015180691A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

Definitions

  • the present invention relates to the field of network security technologies, and in particular, to a key negotiation method and apparatus for verifying information.
  • SMS verification is the last security measure.
  • a server (a service provider, such as Alipay) sends a text message containing a digit or a character verification code to a previously bound mobile phone number through a short message gateway. After receiving the short message, the user passes the verification code in the short message to the server through the mobile APP or the WEB page of the authentication or payment. The server judges whether the user is performing the verification or payment operation according to the submitted verification code.
  • the present invention has been made in order to provide a key agreement method and apparatus for overcoming the above problems or at least partially solving the above-described problems.
  • a key agreement method for verifying information including: generating, by a terminal, a key pair for encrypting and decrypting the verification information, and transmitting the public key to a network device through a network, and locally Saving a private key, wherein the verification information is a message for verifying the identity or authority of the terminal or the user in the execution of the specific service process by the target application; the network device utilizing the public key before transmitting the verification information to the terminal Encrypting the verification information, and transmitting the encrypted verification information to the terminal; the terminal decrypting the encrypted verification information by using the private key to obtain verification information.
  • a key agreement apparatus for verifying information comprising: a key pair generating unit, configured to generate, at a terminal, a key pair for encrypting and decrypting the verification information, and using a public key Transmitting to the network device through the network, and storing the private key locally, wherein the verification information is a message for verifying the identity or authority of the terminal or the user in the specific service process performed by the target application; the encryption verification information receiving unit uses And receiving, from the network device, verification information for encrypting the verification information by using the public key; and the encryption verification information decryption unit is configured to decrypt the encrypted verification information by using the private key to obtain verification information.
  • a computer program comprising computer readable code when When the computer readable code is run on the terminal, the method for causing the terminal to perform key agreement of the verification information in the foregoing item.
  • a computer readable medium storing the computer program described in the preceding paragraph is provided.
  • the present invention has the beneficial effects that the APP or the user itself cannot obtain the encrypted text message of the user, so even if the mobile phone is lost, the attacker has root or even offline analysis and debugging.
  • the user's encrypted text message can still not be read. Only the user can combine the APP with the ability to read the user's text message. Since the whole process depends on the terminal private key protected by the user password and also depends on the session key stored in the APP memory, even if the Trojan can use the phishing method to trick the user into inputting the password of the user to unlock the private key of the terminal, the message cannot be read. .
  • the present invention has a good defense effect against GSM (Global System for Mobile Communications) signal eavesdropping, sim (Subscriber Identity Module) card copying and the like, because the cryptographic verification by the present invention
  • GSM Global System for Mobile Communications
  • sim Subscriber Identity Module
  • the attack mode of the information mode, GSM signal eavesdropping, sim card copying, etc. can only obtain the ciphertext, there is no way to get the plaintext, and of course, it is impossible to continue the attack.
  • FIG. 1 shows a flow chart of a key agreement method for verifying information according to an embodiment of the present invention
  • FIG. 2 is a flow chart showing an example of a key agreement method for verifying information according to an embodiment of the present invention
  • FIG. 3 is a flowchart showing an example 2 of a key negotiation method for verifying information according to an embodiment of the present invention
  • FIG. 4 is a flowchart showing an example 3 of a key agreement method for verifying information according to an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram of a key agreement apparatus for verifying information according to an embodiment of the present invention.
  • Figure 6 shows a block diagram of a terminal for a method of performing key agreement for authentication information according to the present invention
  • Fig. 7 shows a storage unit of program code for holding or carrying a method of key agreement implementing the verification information according to the present invention.
  • FIG. 1 is a flowchart of a method for key negotiation of authentication information according to an embodiment of the present invention. Includes the following steps:
  • S101 Generate, at the terminal, a key pair for encrypting and decrypting the verification information, transmit the public key to the network device through the network, and save the private key locally, where the verification information is used to verify the target application. a message that performs the identity or permissions of the terminal or user during a particular service;
  • the network device Before sending the verification information to the terminal, the network device encrypts the verification information by using the public key, and sends the encrypted verification information to the terminal.
  • S103 The terminal decrypts the encrypted verification information by using a private key to obtain verification information.
  • the verification information can be obtained, whereby the authentication information can be used to verify the identity or authority of the terminal or verify the identity or authority of the user during the execution of the specific service by the target application.
  • the target application refers to an application that needs to verify the verification information to perform a service (service), including but not limited to communication software, payment software, or e-commerce software, such as the now popular Alipay software, WeChat, and the like. Executing a specific service on the target application means performing payment, login, download, etc. on the target application after the authentication information is verified by the terminal or the identity or authority of the user.
  • the key is determined by key agreement between the application and the network device (for example, the server), and the verification information is encrypted by using the negotiated key.
  • keys can be divided into symmetric keys and asymmetric keys.
  • Symmetric key encryption also known as private key encryption or session key encryption, means that the sender and receiver of the message use the same key to encrypt and decrypt the data. Its biggest advantage is that the encryption/decryption speed is fast, suitable for encrypting large amounts of data, but key management is difficult.
  • An asymmetric key encryption system also known as public key encryption.
  • Asymmetric key includes: RSA, Elgamal, backpack algorithm, Rabin, D-H, ECC (elliptic curve encryption algorithm) and so on. The most widely used is the RSA algorithm, and Elgamal is another commonly used asymmetric encryption algorithm.
  • the present invention does not limit the key algorithm.
  • the present invention encrypts the verification information through key negotiation between the application and the network device, and the application directly reads the encrypted verification information, thereby performing the operation of the service by using the decrypted verification information, that is, only this
  • the application can decrypt the authentication information in the cipher text form.
  • a malicious application such as a Trojan, even if the verification information can be obtained, since the verification information is in the form of ciphertext, it is not utilized, which effectively ensures payment on the application.
  • the security of business operations is possible.
  • the present invention has a good defense effect on attack methods such as GSM signal eavesdropping and sim card copying, because the attacker of the GSM signal eavesdropping, sim card copying and the like can only obtain the confidentiality by the cryptographic authentication information method of the present invention. Wen, there is no way to get clear text, of course, can not continue to attack.
  • the key pair negotiated in the above steps S101-S104 is referred to as a terminal key pair
  • the public key in the terminal key pair is referred to as a terminal public key
  • the terminal key pair is The private key in is called the terminal private key.
  • the "secure address book" software installed on the mobile phone is taken as an example for description.
  • the secure address book is the above application and can be understood as a security software responsible for securing mobile phone information.
  • the network device in this embodiment refers to a secure address book server (referred to as a server).
  • the terminal key pair is obtained by using the RSA algorithm, including the RSA public key and the RSA private key.
  • the user installs a secure address book on the mobile phone and has a built-in server public key. Click to set the "encrypted SMS password" and the user enters a password.
  • the secure address book automatically generates a pair of RSA key pairs.
  • the HASH algorithm is calculated for the password input by the user, and the SSH encrypted RSA private key is used as the result of the HASH, and the encrypted RSA private key is stored on the mobile phone, and the RSA is simultaneously
  • the public key is uploaded to the server over the network.
  • the secure address book periodically (for example, every 24 hours) sends a session key (secret key) encrypted by the server public key to the secure address book server for reporting.
  • the server of the secure address book records the session key for this mobile phone.
  • the server sends the sensitive SMS (such as the verification code SMS) through the user's mobile device information (for example, the device is out The factory identification, mobile phone number, IMEI, IMSI) query and obtain the RSA public key and session key corresponding to the user.
  • the sensitive SMS such as the verification code SMS
  • the user's mobile device information for example, the device is out
  • the factory identification, mobile phone number, IMEI, IMSI The factory identification, mobile phone number, IMEI, IMSI
  • the server first encrypts the short message content with the user's RSA public key, encrypts it once with the session key, and finally uses the server private key to sign the short message, and then sends the encrypted signed message.
  • the user receives an encrypted message in a special format.
  • the secure address book first uses the signature verification of the short message. Then, the secure address book decrypts the short message using the session key (stored in the phone memory) described above, unlocks the first encryption, and obtains the ciphertext encrypted with the user RSA public key. The secure address book prompts the user to input the encrypted short message password. After the user inputs the encrypted short message password, the user attempts to decrypt the RSA private key stored in the mobile phone, and finally decrypts the encrypted short message verification information content with the RSA private key.
  • the session key stored in the phone memory
  • the secure address book APP itself cannot obtain the encrypted text message of the user, so even if the mobile phone is lost, the user cannot read the user if the attacker has the ability of root or even offline analysis and debugging.
  • Encrypt text messages Only users + secure communication can read the user's text message. Since the whole process depends on the RSA private key protected by the user password and also depends on the session key stored in the secure address book memory, even if the Trojan can use the phishing method to trick the user into inputting the password of the user to unlock the RSA private key, it still cannot. Read the text message.
  • a terminal refers to a terminal having a communication function, for example, a smartphone or the like.
  • a network device refers to a server, gateway, or proxy server that sends authentication information for a service of a target application.
  • the target application refers to an application that needs to verify the verification information to perform business, including but not limited to communication software, payment software or e-commerce software, such as the now popular Alipay software, WeChat, and the like.
  • the above steps S101 and S103 may be performed by the target application or by the security application, which will be described in detail in the following embodiments.
  • the verification information is information initiated by the target application server for user authentication on the target application.
  • the method for obtaining the verification information is not limited.
  • the commonly used method is to obtain the verification information by using the short message method.
  • the present invention does not limit this, and the manner of obtaining the verification information by means of mail or instant communication tools is feasible.
  • An implementation condition of the embodiment of the present invention is that the application program has the right to access the communication mode for obtaining the verification information. For example, if the terminal receives the verification information by using the short message, the application program has the right to access the verification short message, and thereafter, the application program By using the permission to access the short message, the user directly accesses the short message to obtain the encrypted verification information. Thereby, step S103 can be performed to decrypt the encrypted short message, thereby finally obtaining the decrypted verification information.
  • Example 1 a flowchart of a key negotiation method for verification information provided in Example 1 includes:
  • S201 the target application of the terminal negotiates a key for verifying the information with the network device
  • the network device encrypts the verification information by using a key, and sends the encrypted verification information to the terminal.
  • S203 The target application decrypts the encrypted verification information by using the negotiated key to obtain verification information.
  • the target application refers to an application that needs to verify the verification information to perform a service; then, it can be understood that the network device refers to a server, a gateway, or a proxy server that transmits verification information for a service of a target application.
  • the following is an example of obtaining verification information by means of a mobile phone short message.
  • the APP target APP installed on the user's mobile phone and the network device negotiate a key based on some means.
  • a network device refers to a functional entity corresponding to authentication information located on the network side, and can have various forms.
  • the APP may directly negotiate a key with the APP server, send a cipher text message, negotiate a key with the SMS gateway, and send a cipher text message, and may also use a proxy server of the SMS gateway to negotiate a key and send the message. Cipher text message.
  • the operator knows that the short message service is controlled by the operator. Then, if the APP server sends the authentication message of the APP service to the terminal, it is generally sent by the operator's short message service line. Therefore, in general, the short message needs to be used.
  • the gateway or the short message gateway proxy server performs key agreement, and of course, it can perform key negotiation with the APP server as described above.
  • the encrypted key is used for encryption.
  • the user receives the encrypted verification message on the mobile phone, and the APP automatically acquires the short message in the background and decrypts to obtain the real verification code.
  • the APP in this example refers to Alipay software.
  • the Alipay software on the mobile phone first needs to negotiate a verification code key with the network device (an Alipay server, a short message gateway, or a short message gateway proxy server); when the user performs a service such as payment, A verification code is required.
  • the network device encrypts the verification code and sends it to the user's mobile phone by using a pre-agreed key.
  • the user receives a verification message in the form of a ciphertext through the short message on the mobile phone, and the mobile phone
  • the Alipay software directly reads the ciphertext short message from the background, and uses the pre-agreed key to read, obtains the decrypted verification code, and finally verifies and completes the business.
  • the target APP cannot read the verification information, which effectively solves the problem that the verification message is stolen by malicious software such as Trojan.
  • a flowchart of a method for key negotiation of verification information provided by example 2 includes:
  • the security application negotiates, with the network device, a key used for verifying the information, where the verification information is information that needs to be verified in the service of the target application;
  • the network device encrypts the verification information by using a key, and sends the encrypted verification information to the terminal.
  • S303 The security application decrypts the encrypted verification information by using the negotiated key to obtain verification information.
  • S304 The security application provides verification information to the target application, and/or the security application presents the verification information to the user.
  • the target application refers to an application that needs to verify the verification information to perform a service; then, it can be understood that the network device refers to a server, a gateway, or a proxy server that transmits verification information for a service of a target application.
  • the second example differs from the above example in that the verification information is uniformly managed for each target application by introducing a security application.
  • the security application performs key agreement with the network device, and the authentication information can be read and decrypted only by the security application, and the decrypted verification information is provided by the security application to the target application.
  • the following is an example of obtaining verification information by means of a mobile phone short message.
  • the secure APP and the network device perform key negotiation.
  • a network device refers to a functional entity corresponding to authentication information located on the network side, and can have various forms.
  • the security APP may directly negotiate a key with the target APP server, send a cipher text message, negotiate a key with the short message gateway, and send a cipher text message, and may also use a proxy server of the short message gateway to negotiate a key. And send cipher text messages.
  • the short message service is controlled by the operator.
  • the target APP server sends a verification short message of the target APP service to the terminal, it is generally sent by using the short message service line of the operator, so generally, Key negotiation needs to be performed by means of a short message gateway or a short message gateway proxy server.
  • key negotiation with the target APP server can also be performed as described above.
  • the encrypted key is used for encryption.
  • the user receives an encrypted verification message on the mobile phone, and only this secure application can be decrypted and displayed to the user.
  • the target APP obtains the decrypted verification message through the interface provided by the security APP.
  • the short message is not obtained through the short message interface of the mobile operating system, but is obtained through the interface provided by the secure APP.
  • the security APP is responsible for verifying the legitimacy of the APP attempting to invoke the interface (validating the signature of the APP, and determining that the short message belongs to the APP. For example, only the WeChat APP can read the verification code SMS sent by the WeChat server), only the target APP The verification information is provided to the target APP when it is legal.
  • the validity of the security APP verification target APP includes: determining whether the target APP is legal by the signature of the target APP, and/or determining whether the target APP has the right to read the verification information. Specifically, determining whether the target APP is legal includes: determining whether the target APP belongs to a secure APP (white APP) according to the signature of the target APP, or determining, according to the signature of the target APP, whether the target APP belongs to a malicious APP (black APP), if If the target APP belongs to a secure APP or does not belong to a malicious APP, it is determined that the target APP is legal.
  • determining whether the target APP has the right to read the verification information includes: determining whether the target APP is an application corresponding to the network device that provides the verification information, and if yes, determining that the target APP has the right to read the verification information. Specifically, it is determined whether the identifier carried in the verification information corresponds to the network device that provides the verification information. For example, judging by sending a text message number.
  • the target APP in this example refers to WeChat software
  • the secure APP on the mobile phone for example, 360 secure address book
  • the network device WeChat server, SMS gateway or SMS gateway proxy server.
  • the network device encrypts the verification code and sends it to the user's mobile phone by using a pre-agreed key; then, the user receives a message through the short message on the mobile phone.
  • the cipher text form verification message, and the security APP on the mobile phone directly reads the cipher text message from the background, and uses the pre-agreed key to read, obtains the decrypted verification code, and presents the plaintext verification code to the user. Finally, if necessary, WeChat obtains the plaintext verification code from the interface provided by the security APP.
  • the second embodiment can also display the verification information of the plaintext to the user, which can satisfy the situation that the verification code is sent through the PC browser, that is, the case that the operation is performed on the PC through the target APP. .
  • a flowchart of a method for key negotiation of authentication information provided by example three includes:
  • the security application negotiates, with the network device, a key used for verifying the information, where the verification information is information that needs to be verified in the service of the target application;
  • the network device encrypts the verification information by using a key, and sends the encrypted verification information to the terminal.
  • S403 The security application decrypts the encrypted verification information by using the negotiated key to obtain verification information.
  • S404 Obtain a password input by the user, and determine whether the password input by the user is correct according to a password agreed with the user in advance;
  • S405 The security application provides the verification information to the target application when the user inputs the password correctly, and/or the security application presents the verification information to the user.
  • the target application refers to an application that needs to verify the verification information to perform a service; then, it can be understood that the network device refers to a server, a gateway, or a proxy server that transmits verification information for a service of a target application.
  • the third example is similar to the above example two, and the unified application for each target application is introduced by introducing a security application. Verify the information. Specifically, the security application performs key agreement with the network device, and the authentication information can be read and decrypted only by the security application, and the decrypted verification information is provided by the security application to the target application. The difference from the second example is that the user is required to enter a password agreed in advance with the security application before presenting the verification information to the user or before providing the verification information to the target application.
  • the following is an example of obtaining verification information by means of a mobile phone short message.
  • a security app needs to be installed on the user's mobile phone.
  • the secure APP and the network device perform key negotiation.
  • a network device refers to a functional entity corresponding to authentication information located on the network side, and can have various forms.
  • the security APP may directly negotiate a key with the target APP server, send a cipher text message, negotiate a key with the short message gateway, and send a cipher text message, and may also use a proxy server of the short message gateway to negotiate a key. And send cipher text messages.
  • the short message service is controlled by the operator.
  • the target APP server sends a verification short message of the target APP service to the terminal, it is generally sent by using the short message service line of the operator, so generally, Key negotiation needs to be performed by means of a short message gateway or a short message gateway proxy server.
  • key negotiation with the target APP server can also be performed as described above.
  • the encrypted key is used for encryption.
  • the user receives the encrypted verification message on the mobile phone, and the security APP decrypts.
  • the user needs to view the decrypted verification short message, or the target APP needs to read the verification short message, the user needs to input a password agreed in advance with the security APP.
  • the target APP presents the decrypted verification message to the user, or the target APP obtains the decrypted verification message through the interface provided by the security APP.
  • the short message is not obtained through the short message interface of the mobile operating system, but is obtained through the interface provided by the secure APP.
  • the security APP is responsible for verifying the legitimacy of the APP attempting to invoke the interface (validating the signature of the APP, and determining that the short message belongs to the APP. For example, only the WeChat APP can read the verification code SMS sent by the WeChat server), only the target APP The verification information is provided to the target APP when it is legal.
  • the validity of the security APP verification target APP includes: determining whether the target APP is legal by the signature of the target APP, and/or determining whether the target APP has the right to read the verification information. Specifically, determining whether the target APP is legal includes: determining whether the target APP belongs to the secure APP (white APP) according to the signature of the target APP, or determining whether the target APP belongs to the malicious APP (black APP) according to the signature of the target APP, if the target If the APP belongs to a secure APP or does not belong to a malicious APP, it is determined that the target APP is legal.
  • determining whether the target APP has the right to read the verification information includes: determining whether the target APP is an application corresponding to the network device that provides the verification information, and if yes, determining that the target APP has the right to read the verification information. Specifically, it is determined whether the identifier carried in the verification information corresponds to the network device that provides the verification information. For example, judging by sending a text message number.
  • the target APP in this example refers to the bank payment platform to which Amazon is linked.
  • the security APP on the mobile phone for example, 360 secure address book
  • the network device for example, SMS gateway or SMS gateway proxy server.
  • negotiation the verification code key when the user performs the payment and other services, the verification code is required.
  • the network device encrypts the verification code and sends it to the user's mobile phone by using a pre-agreed key; then, the user passes the mobile phone
  • the short message received by the short message is a verification message in the form of a cipher text
  • the security APP on the mobile phone directly reads the cipher text message from the background, and uses the pre-agreed key to read and obtain the decrypted verification code;
  • the plaintext verification code is displayed to the user; finally, if necessary, the bank payment platform obtains the plaintext verification code from the interface provided by the security APP.
  • the security app cannot read the verification information, and it is safe.
  • the APP provides the verification SMS to the APP based on the validity of the verification target APP, which effectively solves the problem of verifying that the short message is stolen by a malicious software such as a Trojan.
  • the third example can also display the verification information of the plaintext to the user, which can satisfy the situation that the verification code is sent through the PC browser, that is, it is suitable for the operation on the PC through the target APP.
  • the third embodiment displays the verification information or provides the target information to the user after the user inputs the correct password, that is, further ensures the security of the verification information, and the cipher text verification information and the user password. Double insurance ensures the security of the verification information even when the phone is lost.
  • the present invention also provides a key agreement apparatus for verifying information.
  • the device can be implemented by hardware, software or a combination of software and hardware.
  • the device may refer to a functional module inside the terminal, or may refer to the terminal itself, as long as the terminal includes a function of implementing the device. Referring to Figure 5, the device includes:
  • the key pair generating unit 501 is configured to generate, by the terminal, a terminal key pair for encrypting and decrypting the verification information, transmit the terminal public key to the network device through the network, and save the terminal private key locally, where
  • the verification information is a message for verifying the identity or authority of the terminal or user in the execution of the specific service process by the target application;
  • the cryptographic verification information receiving unit 502 is configured to receive, from the network device, verification information that encrypts the verification information by using the terminal public key;
  • the encryption verification information decryption unit 503 is configured to decrypt the encrypted verification information by using the private key to obtain verification information.
  • the encrypted verification information is signed and processed by using a network device private key; the encrypted verification information decryption unit 503 further utilizes the pre-acquired network device before the decrypting by using the terminal private key.
  • the public key verifies the signature of the encrypted authentication information.
  • the apparatus further includes: a session key generating unit 504, configured to generate a session key encrypted by the network device public key and provide the session key to the network device; the network device is utilizing the terminal After the public key encrypts the verification information, the verification information is further encrypted by the session key; in this case, the encryption verification information decryption unit 503 performs verification of the encryption by using the terminal private key pair. After the information is decrypted, the session key stored locally at the terminal is also used for secondary decryption.
  • a session key generating unit 504 configured to generate a session key encrypted by the network device public key and provide the session key to the network device; the network device is utilizing the terminal
  • the encryption verification information decryption unit 503 performs verification of the encryption by using the terminal private key pair.
  • the session key stored locally at the terminal is also used for secondary decryption.
  • the private key stored in the local key pair generating unit 501 is encrypted by using a password input by the user; the encrypted verification information decrypting unit 503 is used to verify the encryption by using the terminal private key pair.
  • the encrypted terminal private key is first decrypted by using the password input by the user to obtain the terminal private key.
  • the network device queries and obtains a terminal public key and/or a session key corresponding to the user by using the device information of the terminal.
  • the device information of the terminal includes a device number, a mobile phone number, an IMEI, and/or an IMSI.
  • the function of the key pair generation unit 501 and the encryption verification information decryption unit 503 is performed by the target application, that is, the generation is performed by the target application on the terminal for generating A key pair that encrypts and decrypts the verification information and the verification information encrypted by the private key are decrypted.
  • the function of the key pair generation unit 501 and the encryption verification information decryption unit 503 is performed by a newly added security application, that is, the generation is performed by the security application on the terminal.
  • the verification information is provided to a target application, wherein the target application refers to an application that needs to verify the verification information to perform a business.
  • the target application invokes an interface provided by the security application to obtain the verification information from the security application.
  • the device further includes: a target legality verification unit 506, configured to verify validity of the target application by using the security application; in this case, the verification information providing unit 505 has only the target application. The verification information is provided to the target application only when it is legal.
  • the target validity verification unit 506 is specifically configured to: determine, by the signature of the target application, whether the target application is legal, and/or determine whether the target application has the verification information. Permissions.
  • the target legality verification unit 506 is specifically configured to: determine, according to the signature of the target application, whether the target application belongs to a security application, or determine the target application according to the signature of the target application. Whether the program belongs to a malicious application, and if the target application belongs to a security application or is not a malicious security program, it is determined that the target application is legitimate.
  • the target legality verification unit 506 is specifically configured to: determine whether the target application is an application corresponding to the network device that provides the verification information, and if yes, determine that the target application has read The authority to verify the information.
  • the target validity verification unit 506 is specifically configured to: determine whether the identifier carried in the verification information corresponds to a network device that provides the verification information.
  • the device further includes: a password verification unit 507, configured to acquire a password input by the user, and determine whether the password input by the user is correct according to a password agreed in advance with the user; the verification information providing unit 505 inputs the user The verification information is provided to the target application when the password is correct.
  • a password verification unit 507 configured to acquire a password input by the user, and determine whether the password input by the user is correct according to a password agreed in advance with the user
  • the verification information providing unit 505 inputs the user The verification information is provided to the target application when the password is correct.
  • the pre-agreed password with the user refers to a password agreed between the security application and the user.
  • the application refers to a security application
  • the device further includes: a verification information display unit 508, configured to display the decrypted verification information to the user by using the security application.
  • the device further includes: a password verification unit 507, configured to acquire a password input by the user, determine whether the password input by the user is correct according to a password agreed with the user in advance; the verification information display unit 508, the password input by the user The verification information is presented to the user when correct.
  • a password verification unit 507 configured to acquire a password input by the user, determine whether the password input by the user is correct according to a password agreed with the user in advance
  • the verification information display unit 508 the password input by the user The verification information is presented to the user when correct.
  • the pre-agreed password with the user refers to a password agreed between the security application and the user.
  • the target application includes instant messaging software, payment software, or e-commerce software.
  • the network device refers to a server, a gateway, or a proxy server that sends authentication information.
  • the network device learns that the terminal supports cipher text verification information by using a negotiation parameter about the terminal verification information that is obtained in advance.
  • the key refers to a symmetric key
  • the network device encrypts and decrypts the verification information by using the same key with the application; or the key refers to an asymmetric key, and the network The device encrypts the authentication information using a public key that decrypts the encrypted authentication information using the private key.
  • the terminal obtains the encrypted verification information from the network device by using a short message, a mail, or an instant messaging tool.
  • the device further includes: a rights access unit 509, configured to support the target application or the security application to directly access the communication mode to obtain the encrypted verification by using the permission that the user has access to the communication mode information.
  • a rights access unit 509 configured to support the target application or the security application to directly access the communication mode to obtain the encrypted verification by using the permission that the user has access to the communication mode information.
  • the device further includes: a service execution unit 510, configured to verify the identity or authority of the terminal or the user by using the verification information in the specific service process performed by the target application.
  • a service execution unit 510 configured to verify the identity or authority of the terminal or the user by using the verification information in the specific service process performed by the target application.
  • modules in the devices of the embodiments can be adaptively changed and placed in one or more devices different from the embodiment.
  • the modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components.
  • any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the device are combined.
  • Each feature disclosed in this specification (including the accompanying claims, the abstract and the drawings) may be replaced by alternative features that provide the same, equivalent or similar purpose.
  • the various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof.
  • a microprocessor or digital signal processor may be used in practice to implement some or some of the components of the apparatus for implementing key agreement for authentication information in accordance with embodiments of the present invention or All features.
  • the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
  • Such a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
  • FIG. 6 shows a terminal, such as a smart terminal, that can implement a key agreement method of authentication information according to the present invention.
  • the terminal conventionally includes a processor 610 and a computer program product or computer readable medium in the form of a memory 620.
  • the memory 620 may be an electronic memory such as a flash memory, an EEPROM (Electrically Erasable Programmable Read Only Memory), an EPROM, a hard disk, or a ROM.
  • Memory 620 has a memory space 630 for program code 631 for performing any of the method steps described above.
  • storage space 630 for program code may include various program code 631 for implementing various steps in the above methods, respectively.
  • the program code can be read from or written to one or more computer program products.
  • the portable or fixed storage unit described in FIG. The storage unit may have a storage section, a storage space, and the like arranged similarly to the storage 620 in the terminal of FIG.
  • the program code can be compressed, for example, in an appropriate form.
  • the storage unit includes computer readable code 631', code that can be read by a processor, such as 610, which when executed by the terminal causes the terminal to perform various steps in the methods described above.

Abstract

本发明公开了一种验证信息的密钥协商方法。其中的方法包括:在终端生成用于对所述验证信息加解密的密钥对,将公钥通过网络传给网络设备,并在本地保存私钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;在向终端发送验证信息之前,所述网络设备利用所述公钥对所述验证信息进行加密,并将加密的验证信息发送给所述终端;所述终端利用所述私钥对加密的验证信息进行解密,获得验证信息。可见,本发明通过终端应用程序与网络设备之间的密钥协商,对验证信息加密处理,有效保证了在应用程序上进行支付等业务操作的安全性。

Description

验证信息的密钥协商方法及装置 技术领域
本发明涉及网络安全技术领域,具体涉及一种验证信息的密钥协商方法及装置。
背景技术
现有移动业务中,常常需要用户利用验证信息进行操作,以保证业务的安全性。用户可以通过短信或邮件等方式获取验证信息。例如,用手机注册帐号或进行支付时,需要服务端向当前手机号下发短信进行身份验证,且短信都以明文形式下发。但是目前一些操作系统(例如Android)平台比较开放,任意软件在注册短信权限后都可随意读取短信内容,在安全方面造成极大的隐患。
在许多认证,尤其是支付过程中,手机短信验证都是最后一道安全措施。通常而言是由服务器(服务提供商,例如支付宝)通过短信网关给用户此前绑定的手机号发送一个包含数字或字符的验证码的短信。用户收到短信之后将短信中的验证码通过手机APP或者认证或支付的WEB页面并提交给服务器。服务器根据提交的验证码判断是否的确是该用户在进行验证或者支付操作。
问题在于,作为私人物品的手机,其短信并不像服务提供商以及用户所理解的那么安全。随便打开一个手机并查看每一个安装的应用,就会发现,许多看似完全无关的应用都会要求阅读短信甚至是发送短信的权限。由此可见,用户是根本不会在意安装的应用拥有一些权限。一个恶意的木马应用完全可以悄无声息的读到前面所述的验证码。Android4.4以前的系统(目前市场上绝大部分Android手机),木马甚至可以在无Root的情况下在偷窃了验证码短信之后删除该短信,在用户毫无察觉的情况下就盗走验证码。
除了恶意的木马可能盗取验证码短信之外,还有一个严重的问题是手机可能丢失。在手机丢失的情况,获得手机的人可以很容易的利用短信找回密码的功能进行非常多的操作,包括修改用户登录密码、支付、转账等等。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的验证信息的密钥协商方法及装置。
依据本发明的一个方面,提供一种验证信息的密钥协商方法,包括:在终端生成用于对所述验证信息加解密的密钥对,将公钥通过网络传给网络设备,并在本地保存私钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;在向终端发送验证信息之前,所述网络设备利用所述公钥对所述验证信息进行加密,并将加密的验证信息发送给所述终端;所述终端利用所述私钥对加密的验证信息进行解密,获得验证信息。
依据本发明的另一个方面,提供一种验证信息的密钥协商装置,包括:密钥对生成单元,用于在终端生成用于对所述验证信息进行加解密的密钥对,将公钥通过网络传给网络设备,并在本地保存私钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;加密验证信息接收单元,用于从网络设备接收利用所述公钥对所述验证信息进行加密的验证信息;加密验证信息解密单元,用于利用所述私钥对加密的验证信息进行解密,获得验证信息。
依据本发明的又一个方面,提供了一种计算机程序,其包括计算机可读代码,当所述计 算机可读代码在终端上运行时,导致所述终端执行前项所述验证信息的密钥协商的方法。
依据据本发明的再一个方面,提供了一种计算机可读介质,其中存储了前项所述的计算机程序。
由上述实施例可以看出,与现有技术相比,本发明的有益效果在于:包括APP或用户本身,都无法获取用户的加密短信,因此即便手机丢失,在攻击者拥有root甚至离线分析调试的能力的情况下,也依然不能读取用户的加密短信。能够读取用户短信的只有用户结合APP。由于整个过程除了依赖用户密码保护的终端私钥,还依赖于APP内存中保存的session key,因此即便木马程序能够使用钓鱼的方法欺骗用户输入用户解开终端私钥的密码,也依然不能阅读短信。
另外,本发明对于GSM(Global System for Mobile Communications,全球移动通信系统)信号窃听,sim(Subscriber Identity Module,客户识别模块)卡复制等攻击手段具有很好的防御效果,因为通过本发明的加密验证信息方式,GSM信号窃听、sim卡复制等方案的攻击者都只能获取到密文,是没办法得到明文的,当然也就无法继续攻击。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的验证信息的密钥协商方法流程图;
图2示出了根据本发明一个实施例的验证信息的密钥协商方法实例一流程图;
图3示出了根据本发明一个实施例的验证信息的密钥协商方法实例二流程图;
图4示出了根据本发明一个实施例的验证信息的密钥协商方法实例三流程图;
图5示出了根据本发明一个实施例的验证信息的密钥协商装置结构示意图;
图6示出了用于执行根据本发明的验证信息的密钥协商的方法的终端的框图;
图7示出了用于保持或者携带实现根据本发明的验证信息的密钥协商的方法的程序代码的存储单元。
具体实施例
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参见图1,为本发明实施例提供的验证信息的密钥协商方法的流程图。包括以下步骤:
S101:在终端生成用于对所述验证信息加解密的密钥对,将公钥通过网络传给网络设备,并在本地保存私钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;
S102:在向终端发送验证信息之前,网络设备利用公钥对验证信息进行加密,并将加密的验证信息发送给终端;
S103:所述终端利用私钥对加密的验证信息进行解密,获得验证信息。
在执行上述步骤之后,即可获得验证信息,由此,在目标应用程序执行特定服务过程中,即可利用验证信息验证终端的身份或权限、或者验证用户的身份或权限。其中,目标应用程序是指需要对验证信息进行验证从而进行服务(业务)的应用程序,包括但是不限于通信软件、支付软件或电商软件,例如现在流行的支付宝软件、微信等等。在目标应用程序上执行特定服务是指利用验证信息通过终端或者用户的身份或权限的验证之后,在目标应用程序上执行支付、登录、下载等业务。本发明方案中,通过应用程序和网络设备(例如服务器)之间的密钥协商,确定密钥,并利用协商的密钥对验证信息进行加密。本领域技术人员了解,密钥可分为对称密钥和非对称密钥。对称密钥加密,又称私钥加密或会话密钥加密算法,即信息的发送方和接收方使用同一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。非对称密钥加密系统,又称公钥密钥加密。它需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公开密钥或称为公钥,另一个由用户自己秘密保存,即私用密钥或称为私钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。本发明中,优选采用非对称密钥。非对称密钥算法包括:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等等。使用最广泛的是RSA算法,Elgamal是另一种常用的非对称加密算法。本发明对密钥算法不作限定。
可见,本发明通过应用程序与网络设备之间的密钥协商,对验证信息加密处理,并且应用程序直接读取加密的验证信息,从而利用解密的验证信息进行业务等操作,也就是,只有这个应用程序才能对密文形式的验证信息进行解密,对于木马等恶意应用程序,即使能获取到验证信息,但由于验证信息是密文形式的,也无从利用,有效保证了在应用程序上进行支付等业务操作的安全性。
另外,本发明对于GSM信号窃听,sim卡复制等攻击手段具有很好的防御效果,因为通过本发明的加密验证信息方式,GSM信号窃听、sim卡复制等方案的攻击者都只能获取到密文,是没办法得到明文的,当然也就无法继续攻击。
为了与下述要介绍的其他密钥区分,将上述步骤S101-S104中协商的密钥对称为终端密钥对,将终端密钥对中的公钥称为终端公钥,将终端密钥对中的私钥称为终端私钥。
下面介绍一个较优实施例。
在该优选实施例中,以安装在手机上的“安全通讯录”软件为例进行说明。该安全通讯录即是上述的应用程序,可以理解为一款负责保障手机信息安全的安全软件。本实施例中的网络设备就是指安全通讯录服务器(简称服务器)。终端密钥对是采用RSA算法得到的,包括RSA公钥和RSA私钥。
用户在手机上安装安全通讯录,并内置服务器公钥,点击设置“加密短信密码”,用户输入一个密码。安全通讯录自动产生一对RSA密钥对,同时对用户输入的密码进行HASH算法计算,并以HASH的结果做KEY加密RSA私钥,把加密后的RSA私钥存储在手机上,同时把RSA公钥通过网络上传给服务器。
安全通讯录定期(例如,每24小时)给安全通讯录服务器发一个用服务器公钥加密的会话密钥(session key)进行报活。安全通讯录的服务器针对这个手机记录下该session key。
服务器在发送敏感短信之前(例如验证码短信),通过用户手机设备信息(例如,设备出 厂标识、手机号,IMEI,IMSI)查询并获得该用户所对应RSA公钥和session key。
服务器首先用该用户的RSA公钥对短信内容进行加密,再使用session key加密一次,最后使用服务器私钥对短信进行签名,然后发送加密签名后的短信。
用户收到一个特殊格式的加密短信。
首先,安全通讯录首先用对短信进行签名校验。然后,安全通讯录使用前面所述的session key(保存在手机内存中)对短信进行解密,解开第一次加密,得到用用户RSA公钥加密的密文。安全通讯录提示用户输入加密短信密码,在用户输入加密短信密码之后,用该密码尝试解密手机中保存的RSA私钥,并且最后用RSA私钥解密加密短信验证信息内容。
在上述较优实施例中,包括安全通讯录APP本身,都无法获取用户的加密短信,因此即便手机丢失,在攻击者拥有root甚至离线分析调试的能力的情况下,也依然不能读取用户的加密短信。能够读取用户短信的只有用户+安全通讯。由于整个过程除了依赖用户密码保护的RSA私钥,还依赖于安全通讯录内存中保存的session key,因此即便木马程序能够使用钓鱼的方法欺骗用户输入用户解开RSA私钥的密码,也依然不能阅读短信。
本发明中,终端是指具有通信功能的终端,例如,智能手机等。网络设备是指发送用于目标应用程序的业务的验证信息的服务器、网关或代理服务器。目标应用程序是指需要对验证信息进行验证从而进行业务的应用程序,包括但不限于通信软件、支付软件或电商软件,例如现在流行的支付宝软件、微信等等。上述步骤S101、S103可以由目标应用程序执行,也可以由安全应用程序执行,后续实施例会有详细介绍。
可以理解的是,验证信息就是目标应用程序服务器发起的用于在目标应用程序上进行用户身份验证的信息。验证信息的获取方式不限,现在常用的是通过短信方式获取验证信息,但是本发明对此不作限制,对于通过邮件或者即时通信工具等方式获取验证信息的方式都是可行的。
本发明实施例的一个实现条件在于,应用程序是具有访问获取验证信息的通信方式的权限的,例如,终端通过短信接收验证信息,那么,应用程序就具有访问验证短信的权限,此后,应用程序利用自身具有的访问短信的权限,直接访问短信获取加密的验证信息。由此,才能执行步骤S103,对加密的短信进行解密,从而最终获得解密的验证信息。
下面以几个实例对本发明实施例进行详细介绍。
实例一
参见图2,为实例一提供的验证信息的密钥协商方法的流程图,包括:
S201:终端的目标应用程序与网络设备协商用于验证信息的密钥;
S202:网络设备利用密钥对验证信息进行加密,并将加密的验证信息发送给终端;
S203:目标应用程序利用协商的密钥对加密的验证信息进行解密,获得验证信息。
其中,目标应用程序是指需要验证所述验证信息从而进行业务的应用程序;那么可以理解,网络设备是指发送用于目标应用程序的业务的验证信息的服务器、网关或代理服务器。
下面以通过手机短信方式获取验证信息的例子进行说明。
首先,安装在用户手机的APP(目标APP)和网络设备基于某种方式协商一个密钥。网络设备是指位于网络侧的与验证信息对应的功能实体,可有多种形式。具体地,APP可以与APP服务器直接协商密钥、发送密文短信,也可以与短信网关协商密钥以及发送密文短信,还可以通过短信网关的代理服务器,由代理服务器负责协商密钥及发送密文短信。本领域技 术人员了解,短信业务是由运营商控制的,那么,如果APP服务器要给终端发送APP业务的验证短信,一般都是借助运营商的短信业务线路进行发送,因此,一般情况下,需要借助短信网关或者短信网关代理服务器进行密钥协商,当然也可以如上所述的通过与APP服务器进行密钥协商。
然后,网络设备给用户手机发送短信时用协商的密钥进行加密。
最后,用户在手机上收到加密的验证短信,该APP在后台自动获取该短信并解密获得真正的验证码。
例如,本实例中的APP是指支付宝软件,那么,手机上的支付宝软件首先需要与网络设备(支付宝服务器、短信网关或者短信网关代理服务器)协商验证码密钥;在用户进行支付等业务时,需要验证码,此时,网络设备利用预先约定的密钥对验证码进行加密并发送到该用户手机上;最后,用户在手机上通过短信接收到的是一条密文形式的验证短信,而手机上的支付宝软件从后台直接读取该密文短信,并利用预先约定的密钥进行读取,获取到解密的验证码,最终进行验证并完成业务。
可见,因为手机收到的是加密短信,除了目标APP是无法读取验证信息的,有效地解决了验证短信被木马等恶意软件窃取的问题。
实例二
参见图3,为实例二提供的验证信息的密钥协商方法的流程图,包括:
S301:安全应用程序与网络设备协商用于验证信息的密钥,其中,验证信息是在目标应用程序的业务中需要被验证的信息;
S302:网络设备利用密钥对验证信息进行加密,并将加密的验证信息发送给终端;
S303:安全应用程序利用协商的密钥对加密的验证信息进行解密,获得验证信息;
S304:安全应用程序将验证信息提供给所述目标应用程序,和/或,安全应用程序将验证信息展示给用户。
其中,目标应用程序是指需要验证所述验证信息从而进行业务的应用程序;那么可以理解,网络设备是指发送用于目标应用程序的业务的验证信息的服务器、网关或代理服务器。
该实例二与上述实例一区别在于,通过引入一个安全应用程序,为各个目标应用程序统一管理验证信息。具体的,由这个安全应用程序与网络设备进行密钥协商,并且仅由这个安全应用程序可以读取并解密验证信息,并且由这个安全应用程序将解密的验证信息提供给目标应用程序。
下面以通过手机短信方式获取验证信息的例子进行说明。
与实例一区别在于,用户手机上需要安装一个安全APP。
首先,安全APP和网络设备进行密钥协商。网络设备是指位于网络侧的与验证信息对应的功能实体,可有多种形式。具体地,安全APP可以与目标APP服务器直接协商密钥、发送密文短信,也可以与短信网关协商密钥以及发送密文短信,还可以通过短信网关的代理服务器,由代理服务器负责协商密钥及发送密文短信。本领域技术人员了解,短信业务是由运营商控制的,那么,如果目标APP服务器要给终端发送目标APP业务的验证短信,一般都是借助运营商的短信业务线路进行发送,因此,一般情况下,需要借助短信网关或者短信网关代理服务器进行密钥协商,当然也可以如上所述的通过与目标APP服务器进行密钥协商。
然后,网络设备给用户手机发送短信时用协商的密钥进行加密。
接着,用户在手机上收到加密的验证短信,仅有这个安全APP可以解密并且显示给用户。
最后,目标APP通过安全APP提供的接口获得解密的验证短信。
可见,其他APP如果需要读取对应的短信,则不再通过手机操作系统的短信接口获取短信,而是通过该安全APP提供的接口获取。安全APP负责验证试图调用该接口的APP的合法性(验证该APP的签名,以及判断该短信的确是属于该APP。比如仅有微信APP可以读微信服务器发来的验证码短信),只有目标APP合法时,才将验证信息提供给目标APP。
其中,安全APP验证目标APP的合法性包括:通过目标APP的签名判断目标APP是否合法,和/或,判断目标APP是否具有读取验证信息的权限。具体的,判断目标APP是否合法包括:根据目标APP的签名判断目标APP是否属于安全的APP(白APP),或者,根据所述目标APP的签名判断目标APP是否属于恶意APP(黑APP),如果目标APP属于安全的APP或者不属于恶意APP,则确定目标APP合法。可以理解,白APP和黑APP名单是预先获取并存储在手机上的,获取方式可以是手动设置或者网络抓取等等。具体的,判断目标APP是否具有读取验证信息的权限包括:判断目标APP是否是与提供验证信息的网络设备对应的应用程序,如果是,则确定目标APP具有读取验证信息的权限。具体地,通过判断验证信息携带的标识是否与提供验证信息的网络设备对应。比如,通过发送短信的号码进行判断。
例如,本实例中的目标APP是指微信软件,那么,手机上的安全APP(例如,360安全通讯录)首先需要与网络设备(微信服务器、短信网关或者短信网关代理服务器)协商验证码密钥;在用户进行支付等业务时,需要验证码,此时,网络设备利用预先约定的密钥对验证码进行加密并发送到该用户手机上;接着,用户在手机上通过短信接收到的是一条密文形式的验证短信,而手机上的安全APP从后台直接读取该密文短信,并利用预先约定的密钥进行读取,获取到解密的验证码,并将明文的验证码展示给用户;最后,如果需要,微信从安全APP提供的接口获取到该明文的验证码。
可见,因为手机收到的是加密短信,除了安全APP是无法读取验证信息的,而且安全APP是在验证目标APP合法性基础上才向APP提供验证短信,有效地解决了验证短信被木马等恶意软件窃取的问题。而且,与实例一相比,本实例二还可以向用户展示明文的验证信息,这就可以满足通过PC浏览器发送验证码的情况,也就是,适用于在PC机上通过目标APP进行操作的情况。
实例三
参见图4,为实例三提供的验证信息的密钥协商方法的流程图,包括:
S401:安全应用程序与网络设备协商用于验证信息的密钥,其中,验证信息是在目标应用程序的业务中需要被验证的信息;
S402:网络设备利用密钥对验证信息进行加密,并将加密的验证信息发送给终端;
S403:安全应用程序利用协商的密钥对加密的验证信息进行解密,获得验证信息;
S404:获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;
S405:在用户输入密码正确情况下,安全应用程序将验证信息提供给目标应用程序,和/或,安全应用程序将验证信息展示给用户。
其中,目标应用程序是指需要验证所述验证信息从而进行业务的应用程序;那么可以理解,网络设备是指发送用于目标应用程序的业务的验证信息的服务器、网关或代理服务器。
该实例三与上述实例二类似,通过引入一个安全应用程序,为各个目标应用程序统一管 理验证信息。具体的,由这个安全应用程序与网络设备进行密钥协商,并且仅由这个安全应用程序可以读取并解密验证信息,并且由这个安全应用程序将解密的验证信息提供给目标应用程序。与实例二区别在于,在向用户展示验证信息之前或者在向目标应用程序提供验证信息之前,需要用户输入与安全应用程序事先约定的密码。
下面以通过手机短信方式获取验证信息的例子进行说明。
用户手机上需要安装一个安全APP。
首先,安全APP和网络设备进行密钥协商。网络设备是指位于网络侧的与验证信息对应的功能实体,可有多种形式。具体地,安全APP可以与目标APP服务器直接协商密钥、发送密文短信,也可以与短信网关协商密钥以及发送密文短信,还可以通过短信网关的代理服务器,由代理服务器负责协商密钥及发送密文短信。本领域技术人员了解,短信业务是由运营商控制的,那么,如果目标APP服务器要给终端发送目标APP业务的验证短信,一般都是借助运营商的短信业务线路进行发送,因此,一般情况下,需要借助短信网关或者短信网关代理服务器进行密钥协商,当然也可以如上所述的通过与目标APP服务器进行密钥协商。
然后,网络设备给用户手机发送短信时用协商的密钥进行加密。
接着,用户在手机上收到加密的验证短信,安全APP进行解密。
继而,用户在需要查看解密的验证短信时,或者目标APP需要读取该验证短信时,需要用户输入与安全APP预先约定的密码。
最后,目标APP向用户展示解密的验证短信,或者,目标APP通过安全APP提供的接口获得解密的验证短信。
可见,其他APP如果需要读取对应的短信,则不再通过手机操作系统的短信接口获取短信,而是通过该安全APP提供的接口获取。安全APP负责验证试图调用该接口的APP的合法性(验证该APP的签名,以及判断该短信的确是属于该APP。比如仅有微信APP可以读微信服务器发来的验证码短信),只有目标APP合法时,才将验证信息提供给目标APP。
其中,安全APP验证目标APP的合法性包括:通过目标APP的签名判断目标APP是否合法,和/或,判断目标APP是否具有读取验证信息的权限。具体的,判断目标APP是否合法包括:根据目标APP的签名判断目标APP是否属于安全APP(白APP),或者,根据所述目标APP的签名判断目标APP是否属于恶意APP(黑APP),如果目标APP属于安全APP或者不属于恶意APP,则确定目标APP合法。可以理解,白APP和黑APP名单是预先获取并存储在手机上的,获取方式可以是手动设置或者网络抓取等等。具体的,判断目标APP是否具有读取验证信息的权限包括:判断目标APP是否是与提供验证信息的网络设备对应的应用程序,如果是,则确定目标APP具有读取验证信息的权限。具体地,通过判断验证信息携带的标识是否与提供验证信息的网络设备对应。比如,通过发送短信的号码进行判断。
例如,本实例中的目标APP是指亚马逊链接到的银行支付平台,那么,手机上的安全APP(例如360安全通讯录)首先需要与网络设备(银行支付平台服务器、短信网关或者短信网关代理服务器)协商验证码密钥;在用户进行支付等业务时,需要验证码,此时,网络设备利用预先约定的密钥对验证码进行加密并发送到该用户手机上;接着,用户在手机上通过短信接收到的是一条密文形式的验证短信,而手机上的安全APP从后台直接读取该密文短信,并利用预先约定的密钥进行读取,获取到解密的验证码;在用户输入正确的密码后,将明文的验证码展示给用户;最后,如果需要,银行支付平台从安全APP提供的接口获取到该明文的验证码。
可见,因为手机收到的是加密短信,除了安全APP是无法读取验证信息的,而且安全 APP是在验证目标APP合法性基础上才向APP提供验证短信,有效地解决了验证短信被木马等恶意软件窃取的问题。而且,同实例二类似,实例三还可以向用户展示明文的验证信息,这就可以满足通过PC浏览器发送验证码的情况,也就是,适用于在PC机上通过目标APP进行操作的情况。另外,与实例二相比,本实例三在用户输入正确密码之后才向用户展示验证信息或者提供给目标APP,也就是又进一步保证了验证信息的安全性,通过密文验证信息以及用户密码的双重保险,即使在手机丢失的情况下,也能保证验证信息的安全性。
与上述方法相对应,本发明还提供一种验证信息的密钥协商装置。该装置可以通过硬件、软件或软硬件结合方式实现。该装置可以是指终端内部的功能模块,也可以是指终端本身,只要终端包括实现该装置的功能即可。参见图5,该装置包括:
密钥对生成单元501,用于在终端生成用于对所述验证信息进行加解密的终端密钥对,将终端公钥通过网络传给网络设备,并在本地保存终端私钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;
加密验证信息接收单元502,用于从网络设备接收利用所述终端公钥对所述验证信息进行加密的验证信息;
加密验证信息解密单元503,用于利用所述私钥对加密的验证信息进行解密,获得验证信息。
优选的,所述加密的验证信息是利用网络设备私钥进行签名处理过的;所述加密验证信息解密单元503,在所述利用所述终端私钥进行解密之前,还利用预先获取的网络设备公钥对加密的验证信息的签名进行校验。
优选的,该装置还包括:会话密钥生成单元504,用于生成采用网络设备公钥加密的会话密钥并将该会话密钥提供给所述网络设备;所述网络设备在利用所述终端公钥对所述验证信息进行加密之后,进一步采用所述会话密钥对验证信息进行二次加密;此情况下,所述加密验证信息解密单元503,在利用所述终端私钥对加密的验证信息进行解密之后,还利用保存在所述终端本地的所述会话密钥进行二次解密。
优选的,所述密钥对生成单元501保存在本地的终端私钥是采用用户输入的密码进行加密处理过的;所述加密验证信息解密单元503,在利用所述终端私钥对加密的验证信息进行解密之前,首先利用用户输入的密码对加密的终端私钥进行解密,得到所述终端私钥。
优选的,所述网络设备在发送所述验证信息之前,通过所述终端的设备信息查询并获得该用户所对应终端公钥和/或会话密钥。其中,所述终端的设备信息包括设备号、手机号、IMEI,和/或,IMSI。
优选的,一种方案中,由所述目标应用程序执行密钥对生成单元501以及加密验证信息解密单元503的功能,即,由所述终端上的所述目标应用程序执行所述生成用于对所述验证信息加解密的密钥对以及所述所述利用所述私钥对加密的验证信息进行解密。
优选地,另一种方案中,由新增的一个安全应用程序执行密钥对生成单元501以及加密验证信息解密单元503的功能,即,由所述终端上的安全应用程序执行所述生成用于对所述验证信息加解密的密钥对以及所述所述利用所述私钥对加密的验证信息进行解密;所述装置还包括:验证信息提供单元505,用于利用所述安全应用程序将所述验证信息提供给目标应用程序,其中,所述目标应用程序是指需要验证所述验证信息从而进行业务的应用程序。
其中,所述目标应用程序调用所述安全应用程序提供的接口,从所述安全应用程序获取所述验证信息。
可选的,装置还包括:目标合法性验证单元506,用于利用所述安全应用程序验证所述目标应用程序的合法性;此情况下,所述验证信息提供单元505只有所述目标应用程序合法时,才将所述验证信息提供给所述目标应用程序。
其中,所述目标合法性验证单元506具体用于:通过所述目标应用程序的签名判断所述目标应用程序是否合法,和/或,判断所述目标应用程序是否具有读取所述验证信息的权限。
具体地,所述目标合法性验证单元506具体用于:根据所述目标应用程序的签名判断所述目标应用程序是否属于安全应用程序,或者,根据所述目标应用程序的签名判断所述目标应用程序是否属于恶意应用程序,如果所述目标应用程序属于安全应用程序或者不属于恶意安全程序,则确定所述目标应用程序合法。
具体地,所述目标合法性验证单元506具体用于:判断所述目标应用程序是否是与提供所述验证信息的网络设备对应的应用程序,如果是,则确定所述目标应用程序具有读取所述验证信息的权限。
具体地,所述目标合法性验证单元506具体用于:判断所述验证信息携带的标识是否与提供所述验证信息的网络设备对应。
优选地,另一种方案中,装置还包括:密码验证单元507,用于获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;所述验证信息提供单元505在用户输入的密码正确时,才将所述验证信息提供给所述目标应用程序。
其中,所述与用户预先约定密码是指安全应用程序与用户之间约定的密码。
优选地,另一种方案中,所述应用程序是指安全应用程序;所述装置还包括:验证信息展示单元508,用于利用所述安全应用程序将解密后的验证信息展示给用户。
可选的,所述装置还包括:密码验证单元507,用于获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;所述验证信息展示单元508,在用户输入的密码正确时,才将所述验证信息展示给所述用户。
其中,所述与用户预先约定密码是指安全应用程序与用户之间约定的密码。
其中,所述目标应用程序包括即时通信软件、支付软件或电商软件。
其中,所述网络设备是指发送验证信息的服务器、网关或代理服务器。
其中,所述网络设备通过预先获得的有关所述终端验证信息的协商参数,获知所述终端支持密文验证信息。
其中,所述密钥是指对称密钥,所述网络设备与所述应用程序使用同一个密钥对验证信息进行加密和解密;或者,所述密钥是指非对称密钥,所述网络设备使用公钥对验证信息进行加密,所述应用程序使用私钥对加密的验证信息进行解密。
其中,所述终端通过短信、邮件或者即时通信工具的通信方式从所述网络设备获取所述加密的验证信息。
优选地,所述装置还包括:权限访问单元509,用于支持所述目标应用程序或者安全应用程序利用自身具有的访问所述通信方式的权限,直接访问所述通信方式获取所述加密的验证信息。
优选地,所述装置还包括:服务执行单元510,用于在所述目标应用程序执行特定服务过程中,利用所述验证信息验证终端或用户的身份或权限。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的实现验证信息的秘钥协商的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图6示出了可以实现根据本发明的验证信息的密钥协商方法的终端,例如智能终端。该终端传统上包括处理器610和以存储器620形式的计算机程序产品或者计算机可读介质。存储器620可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器620具有用于执行上述方法中的任何方法步骤的程序代码631的存储空间630。例如,用于程序代码的存储空间630可以包括分别用于实现上面的方法中的各种步骤的各个程序代码631。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为如参考 图7所述的便携式或者固定存储单元。该存储单元可以具有与图6的终端中的存储器620类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括计算机可读代码631’,即可以由例如诸如610之类的处理器读取的代码,这些代码当由终端运行时,导致该终端执行上面所描述的方法中的各个步骤。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (40)

  1. 一种验证信息的密钥协商方法,其特征在于,包括:
    在终端生成用于对所述验证信息加解密的密钥对,将公钥通过网络传给网络设备,并在本地保存私钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;
    在向终端发送验证信息之前,所述网络设备利用所述公钥对所述验证信息进行加密,并将加密的验证信息发送给所述终端;
    所述终端利用所述私钥对加密的验证信息进行解密,获得验证信息。
  2. 如权利要求1所述的方法,其特征在于,
    所述网络设备利用所述终端公钥对所述验证信息进行加密之后,还利用网络设备私钥对加密的验证信息进行签名;
    在所述利用所述私钥进行解密之前,首先利用预先获取的网络设备公钥对加密的验证信息的签名进行校验。
  3. 如权利要求2所述的方法,其特征在于,还包括:
    所述终端定期向所述网络设备发送用网络设备公钥加密的会话密钥;
    所述网络设备在利用所述公钥对所述验证信息进行加密之后,进一步采用所述会话密钥对验证信息进行二次加密;
    在所述利用所述私钥对加密的验证信息进行解密之后,利用保存在所述终端本地的所述会话密钥进行二次解密。
  4. 如权利要求3所述的方法,其特征在于,
    预先向用户提供密码输入界面,接收用户输入的密码,并采用用户输入的密码对所述私钥进行加密;
    在所述利用所述私钥对加密的验证信息进行解密之前,需要用户输入密码,如果用户输入密码正确,则利用用户输入的密码对加密的私钥进行解密,得到所述私钥并执行所述利用所述私钥对加密的验证信息进行解密的步骤。
  5. 如权利要求4所述的方法,其特征在于,所述网络设备在发送所述验证信息之前,通过所述终端的设备信息查询并获得用户所对应公钥和/或会话密钥。
  6. 如权利要求5所述的方法,其特征在于,所述终端的设备信息包括设备号、手机号、IMEI,和/或,IMSI。
  7. 如权利要求1-6任一项所述的方法,其特征在于,由所述终端上的所述目标应用程序执行所述生成用于对所述验证信息加解密的密钥对以及所述所述利用所述私钥对加密的验证信息进行解密的步骤。
  8. 如权利要求1-6任一项所述的方法,其特征在于,由所述终端上的安全目标应用程序执行所述生成用于对所述验证信息加解密的密钥对以及所述所述利用所述私钥对加密的验证信息进行解密的步骤;
    在所述获得验证信息之后,还包括:
    所述安全应用程序将所述验证信息提供给目标应用程序或者将所述验证信息展示给用户。
  9. 如权利要求8所述的方法,其特征在于,所述目标应用程序调用所述安全应用程序提供的接口,从所述安全应用程序获取所述验证信息。
  10. 如权利要求8所述的方法,其特征在于,所述方法还包括:
    所述安全应用程序验证所述目标应用程序的合法性,只有所述目标应用程序合法时,才将所述验证信息提供给所述目标应用程序。
  11. 如权利要求10所述的方法,其特征在于,所述安全应用程序验证所述目标应用程序的合法性包括:
    通过所述目标应用程序的签名判断所述目标应用程序是否合法,和/或,判断所述目标应用程序是否具有读取所述验证信息的权限。
  12. 如权利要求11所述的方法,其特征在于,所述判断所述目标应用程序是否合法包括:
    根据所述目标应用程序的签名判断所述目标应用程序是否属于安全的应用程序,或者,根据所述目标应用程序的签名判断所述目标应用程序是否属于恶意应用程序,如果所述目标应用程序属于安全的应用程序或者不属于恶意安全程序,则确定所述目标应用程序合法。
  13. 如权利要求11所述的方法,其特征在于,所述判断所述目标应用程序是否具有读取所述验证信息的权限包括:
    判断所述目标应用程序是否是与提供所述验证信息的网络设备对应的应用程序,如果是,则确定所述目标应用程序具有读取所述验证信息的权限。
  14. 如权利要求1所述的方法,其特征在于,在所述网络设备利用所述密钥对验证信息进行加密之前,还包括:
    所述网络设备通过预先获得的有关所述终端验证信息的协商参数,获知所述终端支持密文验证信息。
  15. 如权利要求1所述的方法,其特征在于,所述终端通过短信、邮件或者即时通信工具的通信方式从所述网络设备获取所述加密的验证信息。
  16. 如权利要求15所述的方法,其特征在于,在所述终端从所述网络设备获取加密的验证信息之后,还包括:
    所述目标应用程序或者安全应用程序利用自身具有的访问所述通信方式的权限,直接访问所述通信方式获取所述加密的验证信息。
  17. 如权利要求1所述的方法,其特征在于,在所述获得验证信息之后,还包括:
    在所述目标应用程序执行特定服务过程中,利用所述验证信息验证终端或用户的身份或权限。
  18. 如权利要求1-17所述的方法,其特征在于,所述目标应用程序包括即时通信软件、支付软件或电商软件。
  19. 如权利要求1-17任一项所述的方法,其特征在于,所述网络设备是指发送所述验证信息的服务器、网关或代理服务器。
  20. 一种验证信息的密钥协商装置,其特征在于,包括:
    密钥对生成单元,用于在终端生成用于对所述验证信息进行加解密的密钥对,将公钥通过网络传给网络设备,并在本地保存私钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;
    加密验证信息接收单元,用于从网络设备接收利用所述公钥对所述验证信息进行加密的 验证信息;
    加密验证信息解密单元,用于利用所述私钥对加密的验证信息进行解密,获得验证信息。
  21. 如权利要求20所述的装置,其特征在于,所述加密的验证信息是利用网络设备私钥进行签名处理过的;
    所述加密验证信息解密单元,在所述利用所述私钥进行解密之前,还利用预先获取的网络设备公钥对加密的验证信息的签名进行校验。
  22. 如权利要求21所述的装置,其特征在于,还包括:
    会话密钥生成单元,生成采用网络设备公钥加密的会话密钥并将该会话密钥提供给所述网络设备;所述网络设备在利用所述公钥对所述验证信息进行加密之后,进一步采用所述会话密钥对验证信息进行二次加密;
    所述加密验证信息解密单元,在利用所述私钥对加密的验证信息进行解密之后,还利用保存在所述终端本地的所述会话密钥进行二次解密。
  23. 如权利要求22所述的装置,其特征在于,
    所述终端密钥对生成单元保存在本地的私钥是采用用户输入的密码进行加密处理过的;
    所述加密验证信息解密单元,在利用所述私钥对加密的验证信息进行解密之前,首先利用用户输入的密码对加密的私钥进行解密,得到所述私钥。
  24. 如权利要求23所述的装置,其特征在于,所述网络设备在发送所述验证信息之前,通过所述终端的设备信息查询并获得用户所对应公钥和/或会话密钥。
  25. 如权利要求24所述的装置,其特征在于,所述终端的设备信息包括设备号、手机号、IMEI,和/或,IMSI。
  26. 如权利要求20-25任一项所述的装置,其特征在于,由所述终端上的所述目标应用程序执行所述生成用于对所述验证信息加解密的密钥对以及所述所述利用所述私钥对加密的验证信息进行解密。
  27. 如权利要求20-25任一项所述的装置,其特征在于,由所述终端上的安全应用程序执行所述生成用于对所述验证信息加解密的密钥对以及所述所述利用所述私钥对加密的验证信息进行解密;
    所述装置还包括:
    验证信息提供单元,用于利用所述安全应用程序将所述验证信息提供给所述目标应用程序;或者,
    验证信息展示单元,用于利用所述安全应用程序将解密后的验证信息展示给用户。
  28. 如权利要求27所述的装置,其特征在于,所述目标应用程序调用所述安全应用程序提供的接口,从所述安全应用程序获取所述验证信息。
  29. 如权利要求27所述的装置,其特征在于,所述装置还包括:
    目标合法性验证单元,用于利用所述安全应用程序验证所述目标应用程序的合法性;
    所述验证信息提供单元只有所述目标应用程序合法时,才将所述验证信息提供给所述目标应用程序。
  30. 如权利要求29所述的装置,其特征在于,所述目标合法性验证单元具体用于:通过所述目标应用程序的签名判断所述目标应用程序是否合法,和/或,判断所述目标应用程序 是否具有读取所述验证信息的权限。
  31. 如权利要求30所述的装置,其特征在于,所述目标合法性验证单元具体用于:根据所述目标应用程序的签名判断所述目标应用程序是否属于安全的应用程序,或者,根据所述目标应用程序的签名判断所述目标应用程序是否属于恶意应用程序,如果所述目标应用程序属于安全的应用程序或者不属于恶意安全程序,则确定所述目标应用程序合法。
  32. 如权利要求30所述的装置,其特征在于,所述目标合法性验证单元具体用于:判断所述目标应用程序是否是与提供所述验证信息的网络设备对应的应用程序,如果是,则确定所述目标应用程序具有读取所述验证信息的权限。
  33. 如权利要求20所述的装置,其特征在于,所述网络设备通过预先获得的有关所述终端验证信息的协商参数,获知所述终端支持密文验证信息。
  34. 如权利要求20所述的装置,其特征在于,所述终端通过短信、邮件或者即时通信工具的通信方式从所述网络设备获取所述加密的验证信息。
  35. 如权利要求34所述的装置,其特征在于,所述装置还包括:权限访问单元,用于支持所述目标应用程序或者安全应用程序利用自身具有的访问所述通信方式的权限,直接访问所述通信方式获取所述加密的验证信息。
  36. 如权利要求20所述的装置,其特征在于,还包括:
    服务执行单元,用于在所述目标应用程序执行特定服务过程中,利用所述验证信息验证终端或用户的身份或权限。
  37. 如权利要求20-36所述的装置,其特征在于,所述目标应用程序包括即时通信软件、支付软件或电商软件。
  38. 如权利要求20-36任一项所述的装置,其特征在于,所述网络设备是指发送所述验证信息的服务器、网关或代理服务器。
  39. 一种计算机程序,包括计算机可读代码,当所述计算机可读代码在终端上运行时,导致所述终端执行根据权利要求1至19中的任一所述的方法。
  40. 一种计算机可读介质,其中存储了如权利要求39所述的计算机程序。
PCT/CN2015/080338 2014-05-30 2015-05-29 验证信息的密钥协商方法及装置 WO2015180691A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/315,205 US20170208049A1 (en) 2014-05-30 2015-05-29 Key agreement method and device for verification information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410240893.7A CN105207774B (zh) 2014-05-30 2014-05-30 验证信息的密钥协商方法及装置
CN201410240893.7 2014-05-30

Publications (1)

Publication Number Publication Date
WO2015180691A1 true WO2015180691A1 (zh) 2015-12-03

Family

ID=54698136

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/080338 WO2015180691A1 (zh) 2014-05-30 2015-05-29 验证信息的密钥协商方法及装置

Country Status (3)

Country Link
US (1) US20170208049A1 (zh)
CN (1) CN105207774B (zh)
WO (1) WO2015180691A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860280A (zh) * 2021-03-16 2021-05-28 福州汇思博信息技术有限公司 一种基于Android系统的应用安装验证方法与终端

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243484B (zh) * 2014-09-25 2016-04-13 小米科技有限责任公司 信息交互方法及装置、电子设备
CN105871556A (zh) * 2016-03-28 2016-08-17 联想(北京)有限公司 信息处理方法和系统、电子设备及服务器
JP7076819B2 (ja) * 2016-09-15 2022-05-30 ナッツ・ホールディングス、エルエルシー 暗号化されたユーザデータの移動および記憶
CN106888202B (zh) * 2016-12-08 2020-02-21 阿里巴巴集团控股有限公司 授权登录方法及装置
CN106911704B (zh) * 2017-03-13 2020-10-09 北京轻信科技有限公司 一种基于区块链的加密解密方法
CN107026730B (zh) * 2017-04-01 2021-01-05 北京深思数盾科技股份有限公司 数据处理方法、装置及系统
CN107493561B (zh) * 2017-08-07 2021-04-13 北京小米移动软件有限公司 共享设备解锁方法、装置、系统及存储介质
CN107506635B (zh) * 2017-08-23 2020-02-14 广州大白互联网科技有限公司 身份证网上功能开通方法、手机、可信终端和验证服务器
CN107566413B (zh) * 2017-10-24 2020-09-18 东信和平科技股份有限公司 一种基于数据短信技术的智能卡安全认证方法及系统
US11018871B2 (en) * 2018-03-30 2021-05-25 Intel Corporation Key protection for computing platform
CN108763942A (zh) * 2018-05-22 2018-11-06 山大地纬软件股份有限公司 基于区块链的数字证照授权使用装置及其使用方法
CN110555693B (zh) * 2018-06-04 2023-09-12 紫光同芯微电子有限公司 一种利用sim卡实现二维码安全的系统及其方法
CN108513272B (zh) * 2018-07-04 2021-10-01 奇安信科技集团股份有限公司 短信息处理方法及装置
US11449586B2 (en) * 2018-07-20 2022-09-20 Massachusetts Institute Of Technology Authenticated intention
CN110896387B (zh) * 2018-09-12 2021-01-01 宁德时代新能源科技股份有限公司 数据传输方法、电池管理系统和存储介质
CN110912682B (zh) * 2018-09-17 2023-04-07 阿里巴巴集团控股有限公司 数据处理方法、装置及系统
CN109522135A (zh) * 2018-10-12 2019-03-26 北京奇虎科技有限公司 一种跨程序的任务处理方法、装置、设备及存储介质
CN109743696A (zh) * 2018-12-29 2019-05-10 努比亚技术有限公司 验证码加密方法、系统及可读存储介质
CN110266474A (zh) * 2019-05-15 2019-09-20 亚信科技(成都)有限公司 密钥发送方法、装置及系统
CN110177099B (zh) * 2019-05-28 2021-11-05 平安科技(深圳)有限公司 基于非对称加密技术的数据交换方法、发送终端和介质
CN112929320B (zh) * 2019-12-05 2023-06-23 阿里巴巴集团控股有限公司 信息处理方法、装置、电子设备及存储介质
WO2021159052A1 (en) * 2020-02-08 2021-08-12 Cameron Laghaeian Method and apparatus for managing encryption keys and encrypted electronic information on a network server
CN111914289B (zh) * 2020-07-15 2023-11-24 中国民航信息网络股份有限公司 一种应用程序配置信息的保护方法及装置
CN111787495A (zh) * 2020-08-05 2020-10-16 童晓渝 一种实现rcs增强短信加密的系统和方法
CN113114668B (zh) * 2021-04-09 2023-11-03 北京石头世纪科技股份有限公司 一种信息传输方法、移动终端、存储介质及电子设备
CN112990927B (zh) * 2021-04-27 2024-03-08 中国工商银行股份有限公司 支付验证方法、系统、设备、计算机系统及存储介质
CN114339630B (zh) * 2021-11-30 2023-07-21 度小满科技(北京)有限公司 一种用于短信保护的方法和装置
CN115001756B (zh) * 2022-05-16 2024-01-26 李愿军 基于网络的身份验证方法及系统
CN115174145B (zh) * 2022-05-30 2023-12-19 青岛海尔科技有限公司 设备控制方法及边缘网关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247605A (zh) * 2008-03-25 2008-08-20 中兴通讯股份有限公司 短信息加密、签名方法、移动终端及短信息加密系统
CN102147884A (zh) * 2011-03-11 2011-08-10 朱清明 一种物品防伪与验证真伪的方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242404B (zh) * 2007-02-08 2011-05-25 联想(北京)有限公司 一种基于异质网络的验证方法和系统
CN101794260A (zh) * 2010-03-11 2010-08-04 上海北大方正科技电脑系统有限公司 一种移动存储设备加密密钥自动导入方法
CN101938520B (zh) * 2010-09-07 2015-01-28 中兴通讯股份有限公司 一种基于移动终端签名的远程支付系统及方法
CN101964793A (zh) * 2010-10-08 2011-02-02 上海银联电子支付服务有限公司 终端和服务器间的数据传输方法及系统、签到和支付方法
CN101969640B (zh) * 2010-11-15 2012-10-10 成都信息工程学院 一种用于移动终端设备的计算密钥生成方法
CN103414707B (zh) * 2013-07-31 2016-08-10 中国联合网络通信集团有限公司 报文接入处理方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247605A (zh) * 2008-03-25 2008-08-20 中兴通讯股份有限公司 短信息加密、签名方法、移动终端及短信息加密系统
CN102147884A (zh) * 2011-03-11 2011-08-10 朱清明 一种物品防伪与验证真伪的方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860280A (zh) * 2021-03-16 2021-05-28 福州汇思博信息技术有限公司 一种基于Android系统的应用安装验证方法与终端

Also Published As

Publication number Publication date
CN105207774A (zh) 2015-12-30
US20170208049A1 (en) 2017-07-20
CN105207774B (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
WO2015180691A1 (zh) 验证信息的密钥协商方法及装置
US11265319B2 (en) Method and system for associating a unique device identifier with a potential security threat
JP6701364B2 (ja) パスワードなしのコンピュータログインのサービス支援モバイルペアリングのためのシステム及び方法
US9807610B2 (en) Method and apparatus for seamless out-of-band authentication
KR101904177B1 (ko) 데이터 처리 방법 및 장치
WO2017097041A1 (zh) 数据传输方法和装置
US20190140844A1 (en) Identity-linked authentication through a user certificate system
US8327143B2 (en) Techniques to provide access point authentication for wireless network
US9867043B2 (en) Secure device service enrollment
WO2018050081A1 (zh) 设备身份认证的方法、装置、电子设备及存储介质
WO2019218919A1 (zh) 区块链场景下的私钥管理方法、装置及系统
US20190173873A1 (en) Identity verification document request handling utilizing a user certificate system and user identity document repository
CN108234115B (zh) 信息安全的验证方法、装置和系统
WO2015180689A1 (zh) 验证信息的获取方法及装置
WO2019085531A1 (zh) 一种终端联网认证的方法和装置
TW201814496A (zh) 資料儲存方法、資料獲取方法、裝置及系統
EP2095288B1 (en) Method for the secure storing of program state data in an electronic device
US9954834B2 (en) Method of operating a computing device, computing device and computer program
US20120297200A1 (en) Policy bound key creation and re-wrap service
US20170289159A1 (en) Security support for free wi-fi and sponsored connectivity for paid wi-fi
JP2019514314A (ja) 暗号化メッセージを送受信するために動的公開鍵インフラストラクチャを用いる方法、システム、及び媒体
CA2879910A1 (en) Terminal identity verification and service authentication method, system and terminal
US10334431B2 (en) Near field communications (NFC)-based offload of NFC operation
KR101358375B1 (ko) 스미싱 방지를 위한 문자메시지 보안 시스템 및 방법
CN110838919A (zh) 通信方法、存储方法、运算方法及装置

Legal Events

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

Ref document number: 15800140

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15315205

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 15800140

Country of ref document: EP

Kind code of ref document: A1