WO2019136736A1 - 软件加密终端、支付终端、软件包加密及解密方法及系统 - Google Patents

软件加密终端、支付终端、软件包加密及解密方法及系统 Download PDF

Info

Publication number
WO2019136736A1
WO2019136736A1 PCT/CN2018/072556 CN2018072556W WO2019136736A1 WO 2019136736 A1 WO2019136736 A1 WO 2019136736A1 CN 2018072556 W CN2018072556 W CN 2018072556W WO 2019136736 A1 WO2019136736 A1 WO 2019136736A1
Authority
WO
WIPO (PCT)
Prior art keywords
encryption
key
software package
software
hash value
Prior art date
Application number
PCT/CN2018/072556
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 CN201880000009.9A priority Critical patent/CN108235807B/zh
Priority to PCT/CN2018/072556 priority patent/WO2019136736A1/zh
Publication of WO2019136736A1 publication Critical patent/WO2019136736A1/zh

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Definitions

  • the present invention relates to the field of software technologies, and in particular, to a software encryption terminal, a payment terminal, a software package encryption and decryption method and system.
  • Method 1 The background directly pushes the plaintext software package to the terminal;
  • Method 2 Use a simple key to encrypt the software package, such as using the agreed key encryption, and the terminal code to fix the agreed key to decrypt;
  • Manner 3 The random key encryption software package is used, but the random key plaintext is delivered along with the encryption software package, and the encryption key package is decrypted by the terminal.
  • the plaintext software package is transmitted on the network and can be easily disassembled and cracked. The attacker can even implant malicious code to generate new software and download it to the terminal.
  • the key used by the encryption package does not comply with the key security management rules, and there is a risk of key leakage. Any unauthorized terminal developer can obtain the software encryption key.
  • the technical problem to be solved by the present invention is that the present invention provides a software encryption terminal, a payment terminal, a software package encryption and decryption method and system, and improves the security of the software package transmission to the payment terminal, and avoids the software package installed by the user. Malicious attacks that cause users to suffer huge losses.
  • the present invention provides a software package encryption method, including the following steps:
  • the invention also provides a software package decryption method, comprising the following steps:
  • S5 Decrypt the encrypted software package according to a symmetric key imported to the payment terminal to obtain a software package.
  • the invention also provides a software package encryption and decryption method, comprising the following steps:
  • the software encryption terminal encrypts the preset software package to obtain an encryption software package.
  • the present invention provides a software encryption terminal including a first memory, a first processor, and a first computer program stored on the first memory and operable on the first processor, the first processor executing the The first computer program implements the following steps:
  • the present invention provides a payment terminal including a second memory, a second processor, and a second computer program stored on the second memory and operable on the second processor, the second processor executing the The following steps are implemented in the case of two computer programs:
  • S5 Decrypt the encrypted software package according to a symmetric key imported to the payment terminal to obtain a software package.
  • the present invention provides a software package encryption and decryption system, comprising a software encryption terminal and a payment terminal, the software encryption terminal comprising a third memory, a third processor and being stored on the third memory and on the third processor a third computer program running; the payment terminal comprising a fourth memory, a fourth processor, and a fourth computer program stored on the fourth memory and operable on the fourth processor, the third processor executing
  • the software encryption terminal comprising a third memory, a third processor and being stored on the third memory and on the third processor a third computer program running
  • the payment terminal comprising a fourth memory, a fourth processor, and a fourth computer program stored on the fourth memory and operable on the fourth processor, the third processor executing
  • the following steps are implemented when describing the third computer program:
  • the fourth processor implements the following steps when executing the fourth computer program:
  • the invention provides a software encryption terminal, a payment terminal, a software package encryption and decryption method and a system, and a software encryption terminal obtains a symmetric key, and encrypts a preset software package on the software encryption terminal to obtain an encryption software package, and
  • the symmetric key is pre-imported in the payment terminal, and when the payment terminal downloads the encrypted software package, the software package is decrypted according to the symmetric key, and the software package is obtained, and the software package is installed on the payment terminal;
  • the software encryption terminal encrypts the plaintext software package, and the operation is completed inside the software encryption terminal, so that the external cannot access the encryption key used by the current use, and when decrypting, decrypting according to the symmetric key preset by the payment terminal, by the above method,
  • the software package is not vulnerable to attack during the transmission process.
  • the key used by the encryption software package complies with the key security management regulations, and there is no risk of key leakage.
  • the present invention improves the security of the software package transmission to the payment terminal, and prevents the user from installing. A maliciously attacked software package that causes huge losses.
  • FIG. 1 is a schematic diagram showing main steps of a software package encryption method according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of main steps of a software package decryption method according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram showing main steps of a software package encryption and decryption method according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a software encryption terminal according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a payment terminal according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a software package encryption and decryption system according to an embodiment of the present invention.
  • the first memory 2. The first processor; 3. The second memory; 4. The second processor; 5. The software encryption terminal; 6. The payment terminal; 7. The third memory; 9. Fourth memory; 10, fourth processor.
  • the most critical idea of the present invention is that the software encryption terminal encrypts the preset software package according to the obtained symmetric key, and obtains the encryption software package; uploads the encryption software package, so that the payment terminal downloads according to the imported symmetric key.
  • the obtained encryption package is decrypted to obtain the software package.
  • the present invention provides a software package encryption method, including the following steps:
  • the software package encryption and decryption method provided by the present invention obtains a symmetric key on the software encryption terminal, encrypts the preset software package on the software encryption terminal, obtains the encryption software package, and obtains the encryption software package.
  • the symmetric key is pre-imported, and when the payment terminal downloads the encrypted software package, the software package is decrypted according to the symmetric key, and the software package is obtained, and the software package is installed on the payment terminal; Encrypting the plaintext software package, this operation is completed inside the software encryption terminal, so that the external cannot access the encryption key used this time, and when decrypting, decrypt according to the symmetric key preset by the payment terminal, and the software package is
  • the key used in the encryption software package is not vulnerable to attacks.
  • the key used by the encryption software package complies with the key security management rules, and there is no risk of key leakage.
  • the present invention improves the security of the software package transmission to the payment terminal, and prevents the user from being maliciously attacked due to installation. The package, while bringing huge losses to the problem.
  • S2 is specifically:
  • S22 Generate a first encryption key by using a DUKPT algorithm according to the symmetric key and a preset key sequence number; the key sequence number corresponding to the software package;
  • S23 Encrypt the software package by using the first encryption key to obtain an encryption software package.
  • the encryption key generated by the DUKPT algorithm uses different key sequence numbers for each encryption, and different encryption keys are derived, which achieves one time and one secret, and ensures the uniqueness of the software ciphertext. Ensuring that the encryption package is safe and reliable during transmission.
  • the method further includes:
  • step S23 Obtaining the password information input by the user, and verifying the password information; if the password information is verified, step S23 is performed.
  • S22 is specifically:
  • Preset description information where the description information includes a first domain and a second domain;
  • the first encryption key includes a data encryption key and a MAC key.
  • S23 is specifically:
  • the information stored in the first domain and the second domain of the information is convenient for the payment terminal to verify the first software ciphertext data, and the first software ciphertext data after the software package is encrypted is ensured. Security during transmission to prevent cryptographic data from being tampered with.
  • S1 is specifically:
  • a symmetric key is randomly generated by a key generation algorithm
  • the symmetric key is obtained by the key download method.
  • the present invention provides a software package decryption method, including the following steps:
  • S5 Decrypt the encrypted software package according to a symmetric key imported to the payment terminal to obtain a software package.
  • S5 is specifically:
  • the second software ciphertext data is decrypted by the first data encryption key to obtain a software package.
  • the first software ciphertext data is securely verified by the preset symmetric key and the information stored in the first domain and the second domain of the description information, thereby ensuring the first encryption of the software package.
  • the security of the software ciphertext data during transmission is prevented from being tampered with.
  • a software package encryption and decryption method includes the following steps:
  • the software encryption terminal encrypts the preset software package to obtain an encryption software package.
  • S2 is specifically:
  • the software encryption terminal acquires a software package transmitted by the external storage device
  • Preset description information where the description information includes a first domain and a second domain;
  • the first encryption key includes a data encryption key and a MAC key
  • S5 is specifically:
  • the payment terminal obtains the second computer file and the second software ciphertext data according to the encryption software package;
  • the second software ciphertext data is decrypted by the first data encryption key to obtain a software package.
  • the present invention provides a software encryption terminal, including a first memory 1, a first processor 2, and a first computer program stored on the first memory 1 and operable on the first processor 2,
  • the first processor 2 implements the following steps when executing the first computer program:
  • the S2 is specifically:
  • S22 Generate a first encryption key by using a DUKPT algorithm according to the symmetric key and a preset key sequence number;
  • S23 Encrypt the software package by using the first encryption key to obtain an encryption software package.
  • the software encryption terminal is further configured to:
  • step S23 Obtaining the password information input by the user, and verifying the password information; if the password information is verified, step S23 is performed.
  • the S22 is specifically:
  • Preset description information where the description information includes a first domain and a second domain;
  • the first encryption key includes a data encryption key and a MAC key.
  • the S23 is specifically:
  • the present invention provides a payment terminal including a second memory 3, a second processor 4, and a second computer program stored on the second memory 3 and operable on the second processor 4.
  • the second processor 4 implements the following steps when executing the second computer program:
  • S5 Decrypt the encrypted software package according to a symmetric key imported to the payment terminal to obtain a software package.
  • the S5 is specifically:
  • the second software ciphertext data is decrypted by the first data encryption key to obtain a software package.
  • the present invention provides a software package encryption and decryption system, including a software encryption terminal 5 and a payment terminal 6.
  • the software encryption terminal 5 includes a third memory 7, a third processor 8, and is stored in the third.
  • the payment terminal 6 comprises a fourth memory 9, a fourth processor 10 and stored on the fourth memory 9 and in the fourth processor
  • a fourth computer program running on the third processor 8 performs the following steps when executing the third computer program:
  • the fourth processor 10 implements the following steps when executing the fourth computer program:
  • the software package encryption and decryption system is specifically:
  • Preset description information where the description information includes a first domain and a second domain;
  • the first encryption key includes a data encryption key and a MAC key
  • the S5 is specifically:
  • the second software ciphertext data is decrypted by the first data encryption key to obtain a software package.
  • a first embodiment of the present invention is:
  • the invention provides a software package encryption method, which comprises the following steps:
  • the S1 can be implemented by any one of the following methods:
  • the S2 is specifically:
  • S22 Generate a first encryption key by using a DUKPT algorithm according to the symmetric key and a preset key sequence number; the key sequence number corresponds to the software package, that is, different software package presets are different. Key serial number;
  • step S23 Acquire password information input by the user, and verify the password information; if the password information is verified, step S24 is performed;
  • S24 Encrypt the software package by using the first encryption key to obtain an encryption software package.
  • Preset description information where the description information includes a first domain and a second domain;
  • the first encryption key includes a data encryption key and a MAC key.
  • the S23 is specifically:
  • the second embodiment of the present invention is:
  • the invention provides a software package decryption method, comprising the following steps:
  • the S4 is specifically:
  • the encrypted software package uploaded by the software encryption terminal is downloaded from the server, and the encrypted software package is obtained.
  • the S5 is specifically:
  • the second software ciphertext data is decrypted by the first data encryption key to obtain a software package.
  • the third embodiment of the present invention is:
  • the invention provides a software package encryption and decryption method, comprising the following steps:
  • the software encryption terminal encrypts the preset software package to obtain an encryption software package.
  • the S2 is specifically:
  • the software encryption terminal acquires a software package transmitted by the external storage device
  • Preset description information where the description information includes a first domain and a second domain;
  • the first encryption key includes a data encryption key and a MAC key
  • S5 The payment terminal decrypts the encryption software package according to a symmetric key imported to the payment terminal, to obtain a software package;
  • the S5 is specifically:
  • the payment terminal obtains the second computer file and the second software ciphertext data according to the encryption software package;
  • the second software ciphertext data is decrypted by the first data encryption key to obtain a software package.
  • Embodiment 4 of the present invention is:
  • a software encryption terminal includes a first memory, a first processor, and a first computer program stored on the first memory and operable on the first processor, the first processor executing the The first computer program implements the following steps:
  • the S1 can be implemented by any one of the following methods:
  • the S2 is specifically:
  • S22 Generate a first encryption key by using a DUKPT algorithm according to the symmetric key and a preset key sequence number;
  • step S23 Acquire password information input by the user, and verify the password information; if the password information is verified, step S24 is performed;
  • S24 Encrypt the software package by using the first encryption key to obtain an encryption software package.
  • Preset description information where the description information includes a first domain and a second domain;
  • the first encryption key includes a data encryption key and a MAC key.
  • the S23 is specifically:
  • the fifth embodiment of the present invention is:
  • a payment terminal provided by the present invention includes a second memory, a second processor, and a second computer program stored on the second memory and operable on the second processor, the second processor executing the following steps are implemented in the case of two computer programs:
  • the S4 is specifically:
  • the encrypted software package uploaded by the software encryption terminal is downloaded from the server, and the encrypted software package is obtained.
  • the S5 is specifically:
  • the second software ciphertext data is decrypted by the first data encryption key to obtain a software package.
  • the sixth embodiment of the present invention is:
  • the invention provides a software package encryption and decryption system, comprising a software encryption terminal and a payment terminal, the software encryption terminal comprising a third memory, a third processor and being stored on the third memory and on the third processor a third computer program running; the payment terminal comprising a fourth memory, a fourth processor, and a fourth computer program stored on the fourth memory and operable on the fourth processor; the third processor executing the The following steps are implemented when describing the third computer program:
  • the software encryption terminal encrypts the preset software package to obtain an encryption software package.
  • the S2 is specifically:
  • the software encryption terminal acquires a software package transmitted by the external storage device
  • Preset description information where the description information includes a first domain and a second domain;
  • the first encryption key includes a data encryption key and a MAC key
  • the fourth processor implements the following steps when executing the fourth computer program:
  • S5 The payment terminal decrypts the encryption software package according to a symmetric key imported to the payment terminal, to obtain a software package;
  • the S5 is specifically:
  • the payment terminal obtains the second computer file and the second software ciphertext data according to the encryption software package;
  • the second software ciphertext data is decrypted by the first data encryption key to obtain a software package.
  • Embodiment 7 of the present invention is:
  • S1 symmetric key security is imported into a software encryption terminal (SED);
  • Step S1 the purpose is to safely import the symmetric key into the SED, and use one of the following three methods (step S11 needs to set up a security room, other methods are not required):
  • Step S11 is selected to complete the injection of the symmetric key by hand-transferring the symmetric key component. If you use this method, you need to build a safe room and do it in a safe room.
  • Step S12 is selected, and the LKI key downloading scheme is adopted (LKI: Local Key) Injection, local key download, is a common, mature key download solution, that is, through the KLD device (KLD: Key Loader) Device, key download device) loads the key and then downloads the key to the target terminal.
  • KLD Key Loader
  • the security implementation schemes of the vendors are slightly different.
  • the common scheme is to ensure the security of the download process through the two-way authentication and negotiation session key between the KLD and the target terminal;), where the SED is used as the target terminal and passes other KLDs ( Key download device) device injects a symmetric key into the SED;
  • Step S13 is selected, the symmetric key is not imported from the outside, but the symmetric key is generated by the SED's own random algorithm;
  • S2 transmitting the plaintext software package to the SED complete software package by using an external device such as a PC tool or a USB flash drive to obtain an encrypted software package;
  • the S2 is specifically:
  • S201 The plaintext software package is transmitted to the SED for encryption through an external device (PC tool, U disk, etc.) that can interact with the SED.
  • the encryption key consists of a symmetric key and KSN (Key Serial Number, key sequence number, applied to DUKPT) derivative (derived rules refer to the DUKPT key management method), and KSN is managed by the SED.
  • KSN Key Serial Number, key sequence number, applied to DUKPT
  • This step can be done offline, adding double password control to the PC tool.
  • operator password control can be added to the SED, that is, only authorized persons can encrypt the software package;
  • the encryption package consists of description information and software ciphertext.
  • the description information may be defined as fixed-length data (such as 4K or other values), and the field describes related information of the current encryption, including descriptive information, original software package length, encrypted software ciphertext packet length, and DUKPT key.
  • the encryption process is as follows:
  • the SED generates the KSN used for the encryption and writes it into the "KSN domain" of the description information
  • S4 The SED injects the symmetric key into the payment terminal securely
  • the S4 is specifically:
  • the LKI key downloading scheme is adopted, in which the payment terminal is used as the target terminal, and the symmetric key is securely injected into the terminal through the SED for decrypting the ciphertext software package by the terminal;
  • Local Key Injection local key download
  • the security implementation schemes of the vendors are slightly different.
  • the common solution is to ensure the security of the download process by mutual authentication and negotiation session keys between the KLD and the target terminal.
  • the S5 is specifically:
  • the payment terminal decrypts the encryption software package to obtain a software package.
  • the S6 is specifically:
  • the payment terminal decrypts the software ciphertext data according to the content of the description information of the encryption software package, and the specific decryption process is as follows:
  • the Encrypted file 1) using the Hash algorithm to calculate the hash value of the software ciphertext data, that is, the Encrypted file; if the encryption process is the form of the description information and the Encrypted file package in the sixth step of step S202, the Encrypted file can be extracted by directly extracting; Descriptive information and Encrypted The file is naturally patched into the form of an encrypted software package, and the ciphertext software package is subtracted from the previously fixed length description information to be Encrypted. File;
  • the content to be protected by this solution is a software package transmitted between different devices or terminals.
  • the software package is encrypted by a symmetric key, and the software transmitted during the remote update process is in cipher text form.
  • the confidentiality of the software package also includes the confidentiality of the software encryption process, that is, the plaintext software package is first transmitted by the external device to the SED, the encryption operation is completed inside the SED, and then the ciphertext software package is output.
  • the external access key cannot be accessed or obtained.
  • the encryption software package uses symmetric key encryption.
  • the process of symmetric key transmission is to first synthesize a symmetric key in the safe room or inject a symmetric key through other KLD devices or randomly generate a symmetric key from the SED.
  • the symmetric key is securely injected into the payment terminal through the SED. Key injection security is guaranteed by the LKI key download scheme. Commonly, there are two-way authentication between SED and terminal and negotiation of temporary session key.
  • Both the SED and the payment terminal encrypt and store the symmetric key in the security zone by the top-level encryption key. After the attack alarm, the security zone data will attack and self-destruct.
  • the software package encryption key uses the DUKPT key management method. Since each encryption uses a different KSN, a corresponding encryption key is derived correspondingly, and the encryption is achieved once, which ensures the uniqueness of the software ciphertext.
  • This scheme adopts the MAC verification method to ensure that the ciphertext data cannot be falsified.
  • the software ciphertext is verified by the MAC algorithm.
  • the terminal After receiving the software ciphertext, the terminal first checks the integrity of the data with a specific MAC key and then performs subsequent decryption operations to ensure the integrity of the software.
  • the present invention provides a software encryption terminal, a payment terminal, a software package encryption and decryption method and system, and a software encryption terminal obtains a symmetric key, and encrypts a preset software package on the software encryption terminal to obtain Encrypting the software package, and pre-importing the symmetric key in the payment terminal.
  • the payment terminal downloads the encrypted software package, the software package is decrypted according to the symmetric key, and the software package is obtained, and the software is installed on the payment terminal.
  • the invention encrypts the plaintext software package through the software encryption terminal, and the operation is completed in the software encryption terminal, so that the external cannot access the encryption key used in the current use, and when decrypting, the decryption is performed according to the symmetric key preset by the payment terminal.
  • the software package is not easily attacked during the transmission process, and the key used by the encryption software package complies with the key security management regulations, and there is no risk of key leakage, and the first domain and the second domain storage are described by the description information.
  • the information is convenient for the payment terminal to verify the first software ciphertext data, and the first software after the software package is encrypted is ensured. Text data security during transmission, the data is encrypted to prevent tampering.
  • the invention improves the security of the software package transmission to the payment terminal, and avoids the problem that the user brings huge loss due to installing the software package that is maliciously attacked.

Abstract

本发明提供了一种软件加密终端、支付终端、软件包加密及解密方法及系统,其方法包括:获取对称密钥;根据所述对称密钥,加密预设的软件包,得到加密软件包;上传所述加密软件包至服务器;所述第四处理器执行所述程序时实现以下步骤:从服务器下载得到加密软件包;根据导入至支付终端的对称密钥,支付终端解密所述加密软件包,得到软件包。本发明通过上述方法,使软件包在传输过程中不易被攻击,加密软件包使用的密钥遵从密钥安全管理规定,不存在密钥泄露的风险,本发明提高了软件包传输至支付终端的安全性,避免用户由于安装被恶意攻击的软件包,而带来巨大损失的问题。

Description

软件加密终端、支付终端、软件包加密及解密方法及系统 技术领域
本发明涉及软件技术领域,尤其涉及一种软件加密终端、支付终端、软件包加密及解密方法及系统。
背景技术
随着电子支付产业的迅速发展,特别是智能POS的兴起,支付终端更新软件显得日益频繁且重要,不管是问题修复还是功能新增,发布的软件新版本越来越多,如何将这些新软件安全下装到支付终端,一般有如下两种处理方法:一是本地下装,即将支付终端连接本地PC,通过本地PC工具下装新软件;二是远程更新,即通过在线方式推送新软件到支付终端,由支付终端接收到软件后完成安装。本地下装需要先收集支付终端,然后逐台下装,需要投入较多的人力物力。远程更新方式因为其快速便捷的特点,越来越受到开发者和使用者的欢迎。但是远程更新由于有管理后台的参与以及在线传输的特点,极易受到网络上的各种攻击。如何保证软件安全传输到支付终端,目前通常有如下几种方式:
方式一:后台直接推送明文软件包到终端;
方式二:使用简单密钥加密软件包,如使用约定的密钥加密,同时终端代码固化约定的密钥进行解密;
方式三:使用随机密钥加密软件包,但随机密钥明文随加密软件包一起下发,由终端提取密钥后再解密加密软件包。
上述方法存在以下缺点:
缺点1:
明文软件包在网络上传输,极易被反汇编破解,攻击者甚至可以植入恶意代码生成新软件,下装到终端。
缺点2:
加密软件包使用的密钥没有遵从密钥安全管理规定,存在密钥泄露的风险,任意一个未授权的终端开发人员都可以获取软件加密密钥。
缺点3:
密钥明文在网络上传输是极其不安全的,也不符合密钥安全管理规定,其安全程度等同于直接传输明文软件包。
技术问题
本发明所要解决的技术问题是:本发明提供了一种软件加密终端、支付终端、软件包加密及解密方法及系统,提高了软件包传输至支付终端的安全性,避免用户安装的软件包被恶意攻击,而使用户带来巨大损失的问题。
技术解决方案
为了解决上述技术问题,本发明提供了一种软件包加密方法,包括以下步骤:
S1:获取对称密钥;
S2:根据所述对称密钥加密预设的软件包,得到加密软件包;
S3:上传所述加密软件包,以使得支付终端根据导入的对称密钥,对下载得到的加密软件包进行解密,以获取所述软件包。
本发明还提供了一种软件包解密方法,包括以下步骤:
S4:获取得到加密软件包;
S5:根据导入至支付终端的对称密钥,解密所述加密软件包,得到软件包。
本发明还提供了一种软件包加密及解密方法,包括以下步骤:
S1:软件加密终端获取对称密钥;
S2:根据所述对称密钥,软件加密终端加密预设的软件包,得到加密软件包;
S3:软件加密终端上传所述加密软件包至服务器;
S4:支付终端从服务器下载得到加密软件包;
S5:根据导入至支付终端的对称密钥,支付终端解密所述加密软件包,得到软件包。
本发明提供了一种软件加密终端,包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1:获取对称密钥;
S2:根据所述对称密钥加密预设的软件包,得到加密软件包;
S3:上传所述加密软件包,以使得支付终端根据导入的对称密钥,对下载得到的加密软件包进行解密,以获取所述软件包。
本发明提供了一种支付终端,包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第二处理器执行所述第二计算机程序时实现以下步骤:
S4:获取得到加密软件包;
S5:根据导入至支付终端的对称密钥,解密所述加密软件包,得到软件包。
本发明提供了一种软件包加密及解密系统,包括软件加密终端和支付终端,所述软件加密终端包括第三存储器、第三处理器及存储在第三存储器上并可在第三处理器上运行的第三计算机程序;所述支付终端包括第四存储器、第四处理器及存储在第四存储器上并可在第四处理器上运行的第四计算机程序,所述第三处理器执行所述第三计算机程序时实现以下步骤:
S1:获取对称密钥;
S2:根据所述对称密钥,加密预设的软件包,得到加密软件包;
S3:上传所述加密软件包至服务器;
所述第四处理器执行所述第四计算机程序时实现以下步骤:
S4:从服务器下载得到加密软件包;
S5:根据导入至支付终端的对称密钥,支付终端解密所述加密软件包,得到软件包。
有益效果
本发明的有益效果为:
本发明提供的一种软件加密终端、支付终端、软件包加密及解密方法及系统,软件加密终端上获取对称密钥,并在软件加密终端上加密预设的软件包,得到加密软件包,并在支付终端预先导入所述对称密钥,当支付终端下载得到加密软件包时,根据对称密钥解密加密软件包,即可得到所述软件包,并在支付终端上安装软件包;本发明通过软件加密终端加密明文软件包,此操作在软件加密终端内部完成,使外部无法接触本次使用的加密密钥,而解密时,根据支付终端预置的对称密钥进行解密,通过上述方法,使软件包在传输过程中不易被攻击,加密软件包使用的密钥遵从密钥安全管理规定,不存在密钥泄露的风险,本发明提高了软件包传输至支付终端的安全性,避免用户由于安装被恶意攻击的软件包,而带来巨大损失的问题。
附图说明
图1为根据本发明实施例中一种软件包加密方法的主要步骤示意图;
图2为根据本发明实施例中一种软件包解密方法的主要步骤示意图;
图3为根据本发明实施例中一种软件包加密及解密方法的主要步骤示意图;
图4为根据本发明实施例的一种软件加密终端的结构示意图;
图5为根据本发明实施例的一种支付终端的结构示意图;
图6为根据本发明实施例的一种软件包加密及解密系统的结构示意图;
标号说明:
1、第一存储器;2、第一处理器;3、第二存储器;4、第二处理器;5、软件加密终端;6、支付终端;7、第三存储器;8、第三处理器;9、第四存储器;10、第四处理器。
本发明的实施方式
本发明最关键的构思为:软件加密终端根据获取的对称密钥,加密预设的软件包,得到加密软件包;上传所述加密软件包,以使得支付终端根据导入的对称密钥,对下载得到的加密软件包进行解密,以获取所述软件包。
请参照图1,本发明提供了一种软件包加密方法,包括以下步骤:
S1:获取对称密钥;
S2:根据所述对称密钥加密预设的软件包,得到加密软件包;
S3:上传所述加密软件包,以使得支付终端根据导入的对称密钥,对下载得到的加密软件包进行解密,以获取所述软件包。
从上述描述可知,本发明提供的一种软件包加密及解密方法,其软件加密终端上获取对称密钥,并在软件加密终端上加密预设的软件包,得到加密软件包,并在支付终端预先导入所述对称密钥,当支付终端下载得到加密软件包时,根据对称密钥解密加密软件包,即可得到所述软件包,并在支付终端上安装软件包;本发明通过软件加密终端加密明文软件包,此操作在软件加密终端内部完成,使外部无法接触本次使用的加密密钥,而解密时,根据支付终端预置的对称密钥进行解密,通过上述方法,使软件包在传输过程中不易被攻击,加密软件包使用的密钥遵从密钥安全管理规定,不存在密钥泄露的风险,本发明提高了软件包传输至支付终端的安全性,避免用户由于安装被恶意攻击的软件包,而带来巨大损失的问题。
进一步的,所述S2具体为:
S21:获取外部存储设备传输的软件包;
S22:根据所述对称密钥和预设的密钥序列号,通过DUKPT算法生成第一加密密钥;所述密钥序列号与所述软件包相对应;
S23:通过所述第一加密密钥加密所述软件包,得到加密软件包。
从上述描述可知,通过DUKPT算法生成的加密密钥,由于每次加密都使用不同的密钥序列号,衍生出不同的加密密钥,达到了一次一密,保证了软件密文的唯一性,保证了加密软件包在传输过程中安全可靠。
进一步的,所述S23之前还包括:
获取用户输入的密码信息,验证所述密码信息;若所述密码信息验证通过后,执行步骤S23。
从上述描述可知,需要对软件包进行加密时,需要对用户的权限进行验证,提高了软件包加密的安全性。
进一步的,所述S22具体为:
预设描述信息,所述描述信息包括第一域和第二域;
生成密钥序列号;
将所述密钥序列号写入至所述描述信息的第一域中;
根据所述对称密钥和所述密钥序列号,通过DUKPT算法生成第一加密密钥;所述第一加密密钥包括数据加密密钥和MAC密钥。
进一步的,所述S23具体为:
通过所述数据加密密钥加密软件包,得到第一软件密文数据;
通过哈希算法计算所述第一软件密文数据的哈希值,得到第一哈希值;
通过所述MAC密钥加密所述第一哈希值,得到第一哈希值加密信息;
将所述第一哈希值加密信息写入所述描述信息中的第二域中;
保存所述描述信息,得到第一计算机文件;
根据所述第一计算机文件和所述第一软件密文数据,得到加密软件包。
从上述描述可知,通过上述方法,通过描述信息的第一域和第二域存储的信息便于支付终端对第一软件密文数据进行验证,保证了软件包加密后的第一软件密文数据在传输过程中的安全,防止加密数据被篡改。
进一步的,所述S1具体为:
通过密钥生成算法,随机生成对称密钥;
或:
通过密钥下载方法,获取得到对称密钥。
通过上述方法,能够保证软件加密终端获取得到的对称密钥的安全性。
请参照图2,本发明提供了一种软件包解密方法,包括以下步骤:
S4:获取得到加密软件包;
S5:根据导入至支付终端的对称密钥,解密所述加密软件包,得到软件包。
进一步的,所述S5具体为:
根据加密软件包,得到第二计算机文件和所述第二软件密文数据;
通过哈希算法计算所述第二软件密文数据的哈希值,得到第二哈希值;
提取所述第二计算机文件中的第一域和第二域的信息,得到第一密钥序列号和第二哈希值加密信息;
根据所述第一密钥序列号和对称密钥,通过DUKPT算法生成第一数据加密密钥和第一MAC密钥;
根据所述第一MAC密钥,解密所述第二哈希值加密信息,得到第三哈希值;
判断所述第二哈希值和所述第三哈希值是否相同;
若不相同,则输出解密失败;
否则,通过第一数据加密密钥解密所述第二软件密文数据,得到软件包。
从上述描述可知,通过上述方法,通过预置的对称密钥及描述信息的第一域和第二域存储的信息对第一软件密文数据进行安全验证,保证了软件包加密后的第一软件密文数据在传输过程中的安全,防止加密数据被篡改。
请参照图3,一种软件包加密及解密方法,包括以下步骤:
S1:软件加密终端获取对称密钥;
S2:根据所述对称密钥,软件加密终端加密预设的软件包,得到加密软件包;
S3:软件加密终端上传所述加密软件包至服务器;
S4:支付终端从服务器下载得到加密软件包;
S5:根据导入至支付终端的对称密钥,支付终端解密所述加密软件包,得到软件包。
进一步的,所述S2具体为:
软件加密终端获取外部存储设备传输的软件包;
预设描述信息,所述描述信息包括第一域和第二域;
生成密钥序列号;
将所述密钥序列号写入至所述描述信息的第一域中;
根据所述对称密钥和所述密钥序列号,通过DUKPT算法生成第一加密密钥;所述第一加密密钥包括数据加密密钥和MAC密钥;
通过所述数据加密密钥加密软件包,得到第一软件密文数据;
通过哈希算法计算所述第一软件密文数据的哈希值,得到第一哈希值;
通过所述MAC密钥加密所述第一哈希值,得到第一哈希值加密信息;
将所述第一哈希值加密信息写入所述描述信息中的第二域中;
保存所述描述信息,得到第一计算机文件;
根据所述第一计算机文件和所述第一软件密文数据,得到加密软件包。
进一步的,所述S5具体为:
支付终端根据加密软件包,得到第二计算机文件和所述第二软件密文数据;
通过哈希算法计算所述第二软件密文数据的哈希值,得到第二哈希值;
提取所述第二计算机文件中的第一域和第二域的信息,得到第一密钥序列号和第二哈希值加密信息;
根据所述第一密钥序列号和对称密钥,通过DUKPT算法生成第一数据加密密钥和第一MAC密钥;
根据所述第一MAC密钥,解密所述第二哈希值加密信息,得到第三哈希值;
判断所述第二哈希值和所述第三哈希值是否相同;
若不相同,则输出解密失败;
否则,通过第一数据加密密钥解密所述第二软件密文数据,得到软件包。
请参照图4,本发明提供了一种软件加密终端,包括第一存储器1、第一处理器2及存储在第一存储器1上并可在第一处理器2上运行的第一计算机程序,所述第一处理器2执行所述第一计算机程序时实现以下步骤:
S1:获取对称密钥;
S2:根据所述对称密钥加密预设的软件包,得到加密软件包;
S3:上传所述加密软件包,以使得支付终端根据导入的对称密钥,对下载得到的加密软件包进行解密,以获取所述软件包。
进一步的,所述的一种软件加密终端,所述S2具体为:
S21:获取外部存储设备传输的软件包;
S22:根据所述对称密钥和预设的密钥序列号,通过DUKPT算法生成第一加密密钥;
S23:通过所述第一加密密钥加密所述软件包,得到加密软件包。
进一步的,所述的一种软件加密终端,所述S23之前还包括:
获取用户输入的密码信息,验证所述密码信息;若所述密码信息验证通过后,执行步骤S23。
进一步的,所述的一种软件加密终端,所述S22具体为:
预设描述信息,所述描述信息包括第一域和第二域;
生成密钥序列号;
将所述密钥序列号写入至所述描述信息的第一域中;
根据所述对称密钥和所述密钥序列号,通过DUKPT算法生成第一加密密钥;所述第一加密密钥包括数据加密密钥和MAC密钥。
进一步的,所述的一种软件加密终端,所述S23具体为:
通过所述数据加密密钥加密软件包,得到第一软件密文数据;
通过哈希算法计算所述第一软件密文数据的哈希值,得到第一哈希值;
通过所述MAC密钥加密所述第一哈希值,得到第一哈希值加密信息;
将所述第一哈希值加密信息写入所述描述信息中的第二域中;
保存所述描述信息,得到第一计算机文件;
根据所述第一计算机文件和所述第一软件密文数据,得到加密软件包。
请参照图5,本发明提供了一种支付终端,包括第二存储器3、第二处理器4及存储在第二存储器3上并可在第二处理器4上运行的第二计算机程序,所述第二处理器4执行所述第二计算机程序时实现以下步骤:
S4:获取得到加密软件包;
S5:根据导入至支付终端的对称密钥,解密所述加密软件包,得到软件包。
进一步的,所述的一种支付终端,所述S5具体为:
根据加密软件包,得到第二计算机文件和所述第二软件密文数据;
通过哈希算法计算所述第二软件密文数据的哈希值,得到第二哈希值;
提取所述第二计算机文件中的第一域和第二域的信息,得到第一密钥序列号和第二哈希值加密信息;
根据所述第一密钥序列号和对称密钥,通过DUKPT算法生成第一数据加密密钥和第一MAC密钥;
根据所述第一MAC密钥,解密所述第二哈希值加密信息,得到第三哈希值;
判断所述第二哈希值和所述第三哈希值是否相同;
若不相同,则输出解密失败;
否则,通过第一数据加密密钥解密所述第二软件密文数据,得到软件包。
请参照图6,本发明提供了一种软件包加密及解密系统,包括软件加密终端5和支付终端6,所述软件加密终端5包括第三存储器7、第三处理器8及存储在第三存储器7上并可在第三处理器8上运行的第三计算机程序;所述支付终端6包括第四存储器9、第四处理器10及存储在第四存储器9上并可在第四处理器10上运行的第四计算机程序,所述第三处理器8执行所述第三计算机程序时实现以下步骤:
S1:获取对称密钥;
S2:根据所述对称密钥,加密预设的软件包,得到加密软件包;
S3:上传所述加密软件包至服务器;
所述第四处理器10执行所述第四计算机程序时实现以下步骤:
S4:从服务器下载得到加密软件包;
S5:根据导入至支付终端的对称密钥,支付终端解密所述加密软件包,得到软件包。
进一步的,所述一种软件包加密及解密系统,所述S2具体为:
获取外部存储设备传输的软件包;
预设描述信息,所述描述信息包括第一域和第二域;
生成密钥序列号;
将所述密钥序列号写入至所述描述信息的第一域中;
根据所述对称密钥和所述密钥序列号,通过DUKPT算法生成第一加密密钥;所述第一加密密钥包括数据加密密钥和MAC密钥;
通过所述数据加密密钥加密软件包,得到第一软件密文数据;
通过哈希算法计算所述第一软件密文数据的哈希值,得到第一哈希值;
通过所述MAC密钥加密所述第一哈希值,得到第一哈希值加密信息;
将所述第一哈希值加密信息写入所述描述信息中的第二域中;
保存所述描述信息,得到第一计算机文件;
根据所述第一计算机文件和所述第一软件密文数据,得到加密软件包。
所述S5具体为:
根据加密软件包,得到第二计算机文件和所述第二软件密文数据;
通过哈希算法计算所述第二软件密文数据的哈希值,得到第二哈希值;
提取所述第二计算机文件中的第一域和第二域的信息,得到第一密钥序列号和第二哈希值加密信息;
根据所述第一密钥序列号和对称密钥,通过DUKPT算法生成第一数据加密密钥和第一MAC密钥;
根据所述第一MAC密钥,解密所述第二哈希值加密信息,得到第三哈希值;
判断所述第二哈希值和所述第三哈希值是否相同;
若不相同,则输出解密失败;
否则,通过第一数据加密密钥解密所述第二软件密文数据,得到软件包。
请参照图1,本发明的实施例一为:
本发明提供的一种软件包加密方法,包括以下步骤:
S1:获取对称密钥;
其中,所述S1可通过以下任意一种方法实现:
1、通过手动输入对称密钥的分量完成对称密钥的导入软件加密终端。如使用该方式,则需要搭建安全房,在安全房内完成此操作;
2、通过密钥生成算法,随机生成对称密钥;
3、通过密钥下载方法(需要通过密钥下载设备),获取得到对称密钥。
S2:根据所述对称密钥加密预设的软件包,得到加密软件包;
所述S2具体为:
S21:获取外部存储设备传输的软件包;
S22:根据所述对称密钥和预设的密钥序列号,通过DUKPT算法生成第一加密密钥;所述密钥序列号与所述软件包相对应,即加密不同的软件包预设不同的密钥序列号;
S23:获取用户输入的密码信息,验证所述密码信息;若所述密码信息验证通过后,执行步骤S24;
S24:通过所述第一加密密钥加密所述软件包,得到加密软件包。
其中,所述S22具体为:
预设描述信息,所述描述信息包括第一域和第二域;
生成密钥序列号;
将所述密钥序列号写入至所述描述信息的第一域中;
根据所述对称密钥和所述密钥序列号,通过DUKPT算法生成第一加密密钥;所述第一加密密钥包括数据加密密钥和MAC密钥。
其中,所述S23具体为:
通过所述数据加密密钥加密软件包,得到第一软件密文数据;
通过哈希算法计算所述第一软件密文数据的哈希值,得到第一哈希值;
通过所述MAC密钥加密所述第一哈希值,得到第一哈希值加密信息;
将所述第一哈希值加密信息写入所述描述信息中的第二域中;
保存所述描述信息,得到第一计算机文件;
根据所述第一计算机文件和所述第一软件密文数据,得到加密软件包。
S3:上传所述加密软件包至服务器,以使得支付终端根据导入的对称密钥,对从服务器下载得到的加密软件包进行解密,以获取所述软件包。
请参照图2,本发明的实施例二为:
本发明提供的一种软件包解密方法,包括以下步骤:
S4:获取得到加密软件包;
所述S4具体为:
从服务器下载软件加密终端上传的加密软件包,获取得到加密软件包。
S5:根据导入至支付终端的对称密钥,解密所述加密软件包,得到软件包;
所述S5具体为:
根据加密软件包,得到第二计算机文件和所述第二软件密文数据;
通过哈希算法计算所述第二软件密文数据的哈希值,得到第二哈希值;
提取所述第二计算机文件中的第一域和第二域的信息,得到第一密钥序列号和第二哈希值加密信息;
根据所述第一密钥序列号和对称密钥,通过DUKPT算法生成第一数据加密密钥和第一MAC密钥;
根据所述第一MAC密钥,解密所述第二哈希值加密信息,得到第三哈希值;
判断所述第二哈希值和所述第三哈希值是否相同;
若不相同,则输出解密失败;
否则,通过第一数据加密密钥解密所述第二软件密文数据,得到软件包。
请参照图3,本发明的实施例三为:
本发明提供的一种软件包加密及解密方法,包括以下步骤:
S1:软件加密终端获取对称密钥;
S2:根据所述对称密钥,软件加密终端加密预设的软件包,得到加密软件包;
所述S2具体为:
软件加密终端获取外部存储设备传输的软件包;
预设描述信息,所述描述信息包括第一域和第二域;
生成密钥序列号;
将所述密钥序列号写入至所述描述信息的第一域中;
根据所述对称密钥和所述密钥序列号,通过DUKPT算法生成第一加密密钥;所述第一加密密钥包括数据加密密钥和MAC密钥;
通过所述数据加密密钥加密软件包,得到第一软件密文数据;
通过哈希算法计算所述第一软件密文数据的哈希值,得到第一哈希值;
通过所述MAC密钥加密所述第一哈希值,得到第一哈希值加密信息;
将所述第一哈希值加密信息写入所述描述信息中的第二域中;
保存所述描述信息,得到第一计算机文件;
根据所述第一计算机文件和所述第一软件密文数据,得到加密软件包。
S3:软件加密终端上传所述加密软件包至服务器;
S4:支付终端从服务器下载得到加密软件包;
S5:根据导入至支付终端的对称密钥,支付终端解密所述加密软件包,得到软件包;
所述S5具体为:
获取软件加密终端导入至支付终端的对称密钥;
支付终端根据加密软件包,得到第二计算机文件和所述第二软件密文数据;
通过哈希算法计算所述第二软件密文数据的哈希值,得到第二哈希值;
提取所述第二计算机文件中的第一域和第二域的信息,得到第一密钥序列号和第二哈希值加密信息;
根据所述第一密钥序列号和对称密钥,通过DUKPT算法生成第一数据加密密钥和第一MAC密钥;
根据所述第一MAC密钥,解密所述第二哈希值加密信息,得到第三哈希值;
判断所述第二哈希值和所述第三哈希值是否相同;
若不相同,则输出解密失败;
否则,通过第一数据加密密钥解密所述第二软件密文数据,得到软件包。
请参照图4,本发明的实施例四为:
本发明提供的一种软件加密终端,包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1:获取对称密钥;
其中,所述S1可通过以下任意一种方法实现:
1、通过手动输入对称密钥的分量完成对称密钥的导入软件加密终端。如使用该方式,则需要搭建安全房,在安全房内完成此操作;
2、通过密钥生成算法,随机生成对称密钥;
3、通过密钥下载方法(需要通过密钥下载设备),获取得到对称密钥。
S2:根据所述对称密钥加密预设的软件包,得到加密软件包;
所述S2具体为:
S21:获取外部存储设备传输的软件包;
S22:根据所述对称密钥和预设的密钥序列号,通过DUKPT算法生成第一加密密钥;
S23:获取用户输入的密码信息,验证所述密码信息;若所述密码信息验证通过后,执行步骤S24;
S24:通过所述第一加密密钥加密所述软件包,得到加密软件包。
其中,所述S22具体为:
预设描述信息,所述描述信息包括第一域和第二域;
生成密钥序列号;
将所述密钥序列号写入至所述描述信息的第一域中;
根据所述对称密钥和所述密钥序列号,通过DUKPT算法生成第一加密密钥;所述第一加密密钥包括数据加密密钥和MAC密钥。
其中,所述S23具体为:
通过所述数据加密密钥加密软件包,得到第一软件密文数据;
通过哈希算法计算所述第一软件密文数据的哈希值,得到第一哈希值;
通过所述MAC密钥加密所述第一哈希值,得到第一哈希值加密信息;
将所述第一哈希值加密信息写入所述描述信息中的第二域中;
保存所述描述信息,得到第一计算机文件;
根据所述第一计算机文件和所述第一软件密文数据,得到加密软件包。
S3:上传所述加密软件包至服务器,以使得支付终端根据导入的对称密钥,对从服务器下载得到的加密软件包进行解密,以获取所述软件包。
请参照图5,本发明的实施例五为:
本发明提供的一种支付终端,包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第二处理器执行所述第二计算机程序时实现以下步骤:
S4:获取得到加密软件包;
所述S4具体为:
从服务器下载软件加密终端上传的加密软件包,获取得到加密软件包。
S5:根据导入至支付终端的对称密钥,解密所述加密软件包,得到软件包;
所述S5具体为:
根据加密软件包,得到第二计算机文件和所述第二软件密文数据;
通过哈希算法计算所述第二软件密文数据的哈希值,得到第二哈希值;
提取所述第二计算机文件中的第一域和第二域的信息,得到第一密钥序列号和第二哈希值加密信息;
根据所述第一密钥序列号和对称密钥,通过DUKPT算法生成第一数据加密密钥和第一MAC密钥;
根据所述第一MAC密钥,解密所述第二哈希值加密信息,得到第三哈希值;
判断所述第二哈希值和所述第三哈希值是否相同;
若不相同,则输出解密失败;
否则,通过第一数据加密密钥解密所述第二软件密文数据,得到软件包。
请参照图6,本发明的实施例六为:
本发明提供的一种软件包加密及解密系统,包括软件加密终端和支付终端,所述软件加密终端包括第三存储器、第三处理器及存储在第三存储器上并可在第三处理器上运行的第三计算机程序;所述支付终端包括第四存储器、第四处理器及存储在第四存储器上并可在第四处理器上运行的第四计算机程序;所述第三处理器执行所述第三计算机程序时实现以下步骤:
S1:软件加密终端获取对称密钥;
S2:根据所述对称密钥,软件加密终端加密预设的软件包,得到加密软件包;
所述S2具体为:
软件加密终端获取外部存储设备传输的软件包;
预设描述信息,所述描述信息包括第一域和第二域;
生成密钥序列号;
将所述密钥序列号写入至所述描述信息的第一域中;
根据所述对称密钥和所述密钥序列号,通过DUKPT算法生成第一加密密钥;所述第一加密密钥包括数据加密密钥和MAC密钥;
通过所述数据加密密钥加密软件包,得到第一软件密文数据;
通过哈希算法计算所述第一软件密文数据的哈希值,得到第一哈希值;
通过所述MAC密钥加密所述第一哈希值,得到第一哈希值加密信息;
将所述第一哈希值加密信息写入所述描述信息中的第二域中;
保存所述描述信息,得到第一计算机文件;
根据所述第一计算机文件和所述第一软件密文数据,得到加密软件包。
S3:软件加密终端上传所述加密软件包至服务器;
所述第四处理器执行所述第四计算机程序时实现以下步骤:
S4:支付终端从服务器下载得到加密软件包;
S5:根据导入至支付终端的对称密钥,支付终端解密所述加密软件包,得到软件包;
所述S5具体为:
获取软件加密终端导入至支付终端的对称密钥;
支付终端根据加密软件包,得到第二计算机文件和所述第二软件密文数据;
通过哈希算法计算所述第二软件密文数据的哈希值,得到第二哈希值;
提取所述第二计算机文件中的第一域和第二域的信息,得到第一密钥序列号和第二哈希值加密信息;
根据所述第一密钥序列号和对称密钥,通过DUKPT算法生成第一数据加密密钥和第一MAC密钥;
根据所述第一MAC密钥,解密所述第二哈希值加密信息,得到第三哈希值;
判断所述第二哈希值和所述第三哈希值是否相同;
若不相同,则输出解密失败;
否则,通过第一数据加密密钥解密所述第二软件密文数据,得到软件包。
本发明的实施例七为:
S1:对称密钥安全导入到软件加密终端(SED);
步骤S1,目的是将对称密钥安全导入到SED,可使用如下三种方式的一种(步骤S11需要搭建安全房,其他方式不需要):
选用步骤S11,通过手输对称密钥分量完成对称密钥的注入。如使用该方式,则需要搭建安全房,在安全房内完成此操作;
选用步骤S12,采用LKI密钥下载方案(LKI:Local Key Injection,本地密钥下载,为一种常见的、成熟的密钥下载方案,即先通过KLD设备(KLD:Key Loader Device,密钥下载设备)装载密钥,然后将密钥下载到目标终端。各厂家的安全实现方案略有不同,常见方案有通过KLD和目标终端之间的双向认证和协商会话密钥来保证其下载过程的安全性;),其中SED作为目标终端,通过其他的KLD(密钥下载设备)设备将对称密钥注入到SED;
选用步骤S13,对称密钥不从外部导入,而是通过SED自身的随机算法生成对称密钥;
S2:通过PC工具或U盘等外部设备将明文软件包传输给SED完成软件包的加密,得到加密软件包;
所述S2具体为:
S201:通过可与SED交互的外部设备(PC工具、U盘等),将明文软件包传输给SED进行加密。加密密钥由对称密钥和KSN(Key Serial Number,密钥序列号,应用于DUKPT)衍生(衍生规则参考DUKPT密钥管理方法),KSN由SED管理。该步骤可脱机完成,对PC工具可增加双重口令的控制,使用U盘时可在SED上增加操作员口令控制,即只有经过授权的人才能对软件包进行加密;
S202:SED完成对软件的加密后,输出加密软件包。加密软件包由描述信息和软件密文组成。其中描述信息可定义为固定长度数据(比如4K或其他值),该域描述了本次加密的相关信息,包括描述性信息、原始软件包长度、加密后的软件密文包长度、DUKPT密钥本次加密使用的KSN、使用CBC算法的初始向量IV、对软件密文计算hash值后计算的MAC值等,所述描述信息包括第一域(KSN域)和第二域(MAC域);加密流程如下:
1)SED生成本次加密使用的KSN,并写入到描述信息的“KSN域”中;
2)根据对称密钥和KSN衍生出本次加密使用的数据加密密钥Data Key和MAC密钥MAC Key(衍生规则参考DUKPT密钥衍生规则);
3)使用Data Key对原始软件进行加密得到软件密文数据,即Encrypted file;
4)使用Hash算法对软件密文数据即Encrypted file计算hash值;
5)使用MAC Key对4)中的hash值计算MAC(第一哈希值加密信息),并将MAC写入到描述信息的“MAC域”;
6)将描述信息保存为一个ini或TXT或其他格式的文件,并和Encrypted file打包成最终的加密软件包;或者将描述信息和Encrypted file写到同一个文件,其中描述信息作为文件的前半部,Encrypted file作为文件的后半部,该文件即为最终的加密软件包;
S3:上传加密软件包至服务器;
S4:SED将对称密钥安全注入到支付终端;
所述S4具体为:
采用LKI密钥下载方案,其中支付终端作为目标终端,通过SED将对称密钥安全注入到终端中,用于终端对密文软件包的解密;
Local Key Injection,本地密钥下载,为一种常见的、成熟的密钥下载方案,即先通过KLD设备装载密钥,然后将密钥下载到目标终端。各厂家的安全实现方案略有不同,常见方案有通过KLD和目标终端之间的双向认证和协商会话密钥来保证其下载过程的安全性;
S5:从服务器下载加密软件包至支付终端;
所述S5具体为:
由于发布最终的加密软件包上传到服务器,故通过远程更新的方式下装至支付终端。
S6:根据对称密钥,支付终端解密所述加密软件包,得到软件包。
所述S6具体为:
支付终端根据加密软件包的描述信息的内容完成对软件密文数据的解密,具体解密过程如下:
1)使用Hash算法对软件密文数据即Encrypted file计算hash值;若加密流程为步骤S202中第6步使用的是描述信息和Encrypted file打包的形式,则直接解压即可提取Encrypted file;若使用的是描述信息和Encrypted file自然拼凑成加密软件包的形式,则将密文软件包减去前面固定长度的描述信息即为Encrypted file;
2)提取密文软件包中描述信息的各域值,如提取KSN域和MAC域的域值。因为描述信息中长度和格式是固定的,故提取各域值是可行的;
3)根据对称密钥和KSN衍生出数据加密密钥Data Key和MAC密钥MAC Key(衍生规则参考DUKPT密钥衍生规则);
4)使用MAC Key对步骤S6中的1)中计算的hash值计算MAC,和步骤S6中2)提取的MAC做比较,如果不相等则返回错误,解密失败;
5)使用Data Key对Encrypted file解密,得到明文软件Plaintext file。
安全分析:
软件包的机密性
本方案要保护的内容是在不同设备或终端之间传输的软件包,软件包通过对称密钥加密,远程更新过程中传递的软件是密文形式。
软件包的机密性还包括软件加密过程的机密性,即先由外部设备将明文软件包传输给SED,在SED内部完成加密操作,然后输出密文软件包。外部无法接触或获取本次使用的加密密钥。
密钥管理安全性
加密软件包使用的是对称密钥加密,对称密钥的传递过程,是先通过在安全房手输分量合成对称密钥或通过其他KLD设备注入对称密钥或由SED随机生成对称密钥,然后通过SED将对称密钥安全注入到支付终端。密钥注入安全由LKI密钥下载方案保证,常见的有SED和终端之间的双向认证和协商临时会话密钥等。
SED和支付终端都是在各自的安全区域由顶级加密密钥加密对称密钥并存储的,遭受攻击报警之后,该安全区域数据会攻击自毁。
以上对称密钥的生成、传输、存储过程都满足了密钥安全管理要求。
软件包密文的唯一性
软件包加密密钥使用的是DUKPT密钥管理方法,由于每次加密都使用不同的KSN,相应的衍生出不同的加密密钥,达到了一次一密,保证了软件密文的唯一性。
软件包的真实性
本方案采用MAC校验的方法,保证密文数据的不可篡改。软件密文采用MAC算法进行校验。终端接收到软件密文后,首先使用特定的MAC密钥对数据的完整性进行检查后再进行后续解密操作,保证了软件的完整性。
综上所述,本发明提供的一种软件加密终端、支付终端、软件包加密及解密方法及系统,软件加密终端上获取对称密钥,并在软件加密终端上加密预设的软件包,得到加密软件包,并在支付终端预先导入所述对称密钥,当支付终端下载得到加密软件包时,根据对称密钥解密加密软件包,即可得到所述软件包,并在支付终端上安装软件包;本发明通过软件加密终端加密明文软件包,此操作在软件加密终端内部完成,使外部无法接触本次使用的加密密钥,而解密时,根据支付终端预置的对称密钥进行解密,通过上述方法,使软件包在传输过程中不易被攻击,加密软件包使用的密钥遵从密钥安全管理规定,不存在密钥泄露的风险,同时通过描述信息的第一域和第二域存储的信息便于支付终端对第一软件密文数据进行验证,保证了软件包加密后的第一软件密文数据在传输过程中的安全,防止加密数据被篡改。本发明提高了软件包传输至支付终端的安全性,避免用户由于安装被恶意攻击的软件包,而带来巨大损失的问题。

Claims (20)

  1. 一种软件包加密方法,其特征在于,包括以下步骤:
    S1:获取对称密钥;
    S2:根据所述对称密钥加密预设的软件包,得到加密软件包;
    S3:上传所述加密软件包,以使得支付终端根据导入的对称密钥,对下载得到的加密软件包进行解密,以获取所述软件包。
  2. 根据权利要求1所述的一种软件包加密方法,其特征在于,所述S2具体为:
    S21:获取外部存储设备传输的软件包;
    S22:根据所述对称密钥和预设的密钥序列号,通过DUKPT算法生成第一加密密钥;
    S23:通过所述第一加密密钥加密所述软件包,得到加密软件包。
  3. 根据权利要求2所述的一种软件包加密方法,其特征在于,所述S23之前还包括:
    获取用户输入的密码信息,验证所述密码信息;若所述密码信息验证通过后,执行步骤S23。
  4. 根据权利要求2所述的一种软件包加密方法,其特征在于,所述S22具体为:
    预设描述信息,所述描述信息包括第一域和第二域;
    生成密钥序列号;
    将所述密钥序列号写入至所述描述信息的第一域中;
    根据所述对称密钥和所述密钥序列号,通过DUKPT算法生成第一加密密钥;所述第一加密密钥包括数据加密密钥和MAC密钥。
  5. 根据权利要求4所述的一种软件包加密方法,其特征在于,所述S23具体为:
    通过所述数据加密密钥加密软件包,得到第一软件密文数据;
    通过哈希算法计算所述第一软件密文数据的哈希值,得到第一哈希值;
    通过所述MAC密钥加密所述第一哈希值,得到第一哈希值加密信息;
    将所述第一哈希值加密信息写入所述描述信息中的第二域中;
    保存所述描述信息,得到第一计算机文件;
    根据所述第一计算机文件和所述第一软件密文数据,得到加密软件包。
  6. 根据权利要求1所述的一种软件包加密方法,其特征在于,所述S1具体为:
    通过密钥生成算法,随机生成对称密钥;
    或:
    通过密钥下载方法,获取得到对称密钥。
  7. 一种软件包解密方法,其特征在于,包括以下步骤:
    S4:根据权利要求1至6任意所述一种软件包加密方法,获取得到加密软件包;
    S5:根据导入至支付终端的对称密钥,解密所述加密软件包,得到软件包。
  8. 根据权利要求7所述一种软件包解密方法,其特征在于,所述S5具体为:
    根据加密软件包,得到第二计算机文件和所述第二软件密文数据;
    通过哈希算法计算所述第二软件密文数据的哈希值,得到第二哈希值;
    提取所述第二计算机文件中的第一域和第二域的信息,得到第一密钥序列号和第二哈希值加密信息;
    根据所述第一密钥序列号和对称密钥,通过DUKPT算法生成第一数据加密密钥和第一MAC密钥;
    根据所述第一MAC密钥,解密所述第二哈希值加密信息,得到第三哈希值;
    判断所述第二哈希值和所述第三哈希值是否相同;
    若不相同,则输出解密失败;
    否则,通过第一数据加密密钥解密所述第二软件密文数据,得到软件包。
  9. 一种软件包加密及解密方法,其特征在于,包括以下步骤:
    S1:软件加密终端获取对称密钥;
    S2:根据所述对称密钥,软件加密终端加密预设的软件包,得到加密软件包;
    S3:软件加密终端上传所述加密软件包至服务器;
    S4:支付终端从服务器下载得到加密软件包;
    S5:根据导入至支付终端的对称密钥,支付终端解密所述加密软件包,得到软件包。
  10. 根据权利要求9所述的一种软件包加密及解密方法,其特征在于,所述S2具体为:
    软件加密终端获取外部存储设备传输的软件包;
    预设描述信息,所述描述信息包括第一域和第二域;
    生成密钥序列号;
    将所述密钥序列号写入至所述描述信息的第一域中;
    根据所述对称密钥和所述密钥序列号,通过DUKPT算法生成第一加密密钥;所述第一加密密钥包括数据加密密钥和MAC密钥;
    通过所述数据加密密钥加密软件包,得到第一软件密文数据;
    通过哈希算法计算所述第一软件密文数据的哈希值,得到第一哈希值;
    通过所述MAC密钥加密所述第一哈希值,得到第一哈希值加密信息;
    将所述第一哈希值加密信息写入所述描述信息中的第二域中;
    保存所述描述信息,得到第一计算机文件;
    根据所述第一计算机文件和所述第一软件密文数据,得到加密软件包。
  11. 根据权利要求10所述一种软件包加密及解密方法,其特征在于,所述S5具体为:
    支付终端根据加密软件包,得到第二计算机文件和所述第二软件密文数据;
    通过哈希算法计算所述第二软件密文数据的哈希值,得到第二哈希值;
    提取所述第二计算机文件中的第一域和第二域的信息,得到第一密钥序列号和第二哈希值加密信息;
    根据所述第一密钥序列号和对称密钥,通过DUKPT算法生成第一数据加密密钥和第一MAC密钥;
    根据所述第一MAC密钥,解密所述第二哈希值加密信息,得到第三哈希值;
    判断所述第二哈希值和所述第三哈希值是否相同;
    若不相同,则输出解密失败;
    否则,通过第一数据加密密钥解密所述第二软件密文数据,得到软件包。
  12. 一种软件加密终端,包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,其特征在于,所述第一处理器执行所述第一计算机程序时实现以下步骤:
    S1:获取对称密钥;
    S2:根据所述对称密钥加密预设的软件包,得到加密软件包;
    S3:上传所述加密软件包,以使得支付终端根据导入的对称密钥,对下载得到的加密软件包进行解密,以获取所述软件包。
  13. 根据权利要求12所述的一种软件加密终端,其特征在于,所述S2具体为:
    S21:获取外部存储设备传输的软件包;
    S22:根据所述对称密钥和预设的密钥序列号,通过DUKPT算法生成第一加密密钥;
    S23:通过所述第一加密密钥加密所述软件包,得到加密软件包。
  14. 根据权利要求13所述的一种软件加密终端,其特征在于,所述S23之前还包括:
    获取用户输入的密码信息,验证所述密码信息;若所述密码信息验证通过后,执行步骤S23。
  15. 根据权利要求13所述的一种软件加密终端,其特征在于,所述S22具体为:
    预设描述信息,所述描述信息包括第一域和第二域;
    生成密钥序列号;
    将所述密钥序列号写入至所述描述信息的第一域中;
    根据所述对称密钥和所述密钥序列号,通过DUKPT算法生成第一加密密钥;所述第一加密密钥包括数据加密密钥和MAC密钥。
  16. 根据权利要求15所述的一种软件加密终端,其特征在于,所述S23具体为:
    通过所述数据加密密钥加密软件包,得到第一软件密文数据;
    通过哈希算法计算所述第一软件密文数据的哈希值,得到第一哈希值;
    通过所述MAC密钥加密所述第一哈希值,得到第一哈希值加密信息;
    将所述第一哈希值加密信息写入所述描述信息中的第二域中;
    保存所述描述信息,得到第一计算机文件;
    根据所述第一计算机文件和所述第一软件密文数据,得到加密软件包。
  17. 一种支付终端,包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,其特征在于,所述第二处理器执行所述第二计算机程序时实现以下步骤:
    S4:根据权利要求1至6任意所述一种软件包加密及解密方法,获取得到加密软件包;
    S5:根据导入至支付终端的对称密钥,解密所述加密软件包,得到软件包。
  18. 根据权利要求17所述的一种支付终端,其特征在于,所述S5具体为:
    根据加密软件包,得到第二计算机文件和所述第二软件密文数据;
    通过哈希算法计算所述第二软件密文数据的哈希值,得到第二哈希值;
    提取所述第二计算机文件中的第一域和第二域的信息,得到第一密钥序列号和第二哈希值加密信息;
    根据所述第一密钥序列号和对称密钥,通过DUKPT算法生成第一数据加密密钥和第一MAC密钥;
    根据所述第一MAC密钥,解密所述第二哈希值加密信息,得到第三哈希值;
    判断所述第二哈希值和所述第三哈希值是否相同;
    若不相同,则输出解密失败;
    否则,通过第一数据加密密钥解密所述第二软件密文数据,得到软件包。
  19. 一种软件包加密及解密系统,包括软件加密终端和支付终端,所述软件加密终端包括第三存储器、第三处理器及存储在第三存储器上并可在第三处理器上运行的第三计算机程序;所述支付终端包括第四存储器、第四处理器及存储在第四存储器上并可在第四处理器上运行的第四计算机程序,其特征在于,所述第三处理器执行所述第三计算机程序时实现以下步骤:
    S1:获取对称密钥;
    S2:根据所述对称密钥,加密预设的软件包,得到加密软件包;
    S3:上传所述加密软件包至服务器;
    所述第四处理器执行所述第四计算机程序时实现以下步骤:
    S4:从服务器下载得到加密软件包;
    S5:根据导入至支付终端的对称密钥,支付终端解密所述加密软件包,得到软件包。
  20. 根据权利要求19所述的一种软件包加密及解密系统,其特征在于,所述S2具体为:
    获取外部存储设备传输的软件包;
    预设描述信息,所述描述信息包括第一域和第二域;
    生成密钥序列号;
    将所述密钥序列号写入至所述描述信息的第一域中;
    根据所述对称密钥和所述密钥序列号,通过DUKPT算法生成第一加密密钥;所述第一加密密钥包括数据加密密钥和MAC密钥;
    通过所述数据加密密钥加密软件包,得到第一软件密文数据;
    通过哈希算法计算所述第一软件密文数据的哈希值,得到第一哈希值;
    通过所述MAC密钥加密所述第一哈希值,得到第一哈希值加密信息;
    将所述第一哈希值加密信息写入所述描述信息中的第二域中;
    保存所述描述信息,得到第一计算机文件;
    根据所述第一计算机文件和所述第一软件密文数据,得到加密软件包。
    所述S5具体为:
    根据加密软件包,得到第二计算机文件和所述第二软件密文数据;
    通过哈希算法计算所述第二软件密文数据的哈希值,得到第二哈希值;
    提取所述第二计算机文件中的第一域和第二域的信息,得到第一密钥序列号和第二哈希值加密信息;
    根据所述第一密钥序列号和对称密钥,通过DUKPT算法生成第一数据加密密钥和第一MAC密钥;
    根据所述第一MAC密钥,解密所述第二哈希值加密信息,得到第三哈希值;
    判断所述第二哈希值和所述第三哈希值是否相同;
    若不相同,则输出解密失败;
    否则,通过第一数据加密密钥解密所述第二软件密文数据,得到软件包。
PCT/CN2018/072556 2018-01-15 2018-01-15 软件加密终端、支付终端、软件包加密及解密方法及系统 WO2019136736A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880000009.9A CN108235807B (zh) 2018-01-15 2018-01-15 软件加密终端、支付终端、软件包加密及解密方法及系统
PCT/CN2018/072556 WO2019136736A1 (zh) 2018-01-15 2018-01-15 软件加密终端、支付终端、软件包加密及解密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/072556 WO2019136736A1 (zh) 2018-01-15 2018-01-15 软件加密终端、支付终端、软件包加密及解密方法及系统

Publications (1)

Publication Number Publication Date
WO2019136736A1 true WO2019136736A1 (zh) 2019-07-18

Family

ID=62657714

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/072556 WO2019136736A1 (zh) 2018-01-15 2018-01-15 软件加密终端、支付终端、软件包加密及解密方法及系统

Country Status (2)

Country Link
CN (1) CN108235807B (zh)
WO (1) WO2019136736A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115147967B (zh) * 2022-06-02 2023-12-15 福建新大陆通信科技股份有限公司 一种基于ctid和超级sim卡的信息核验方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546607A (zh) * 2010-12-15 2012-07-04 微软公司 在云上提供安全服务
US20150121070A1 (en) * 2013-10-28 2015-04-30 Disney Enterprises, Inc. Firmware security
CN105656859A (zh) * 2014-11-18 2016-06-08 航天信息股份有限公司 税控设备软件安全在线升级方法及系统
CN107026830A (zh) * 2016-02-02 2017-08-08 上海格尔软件股份有限公司 一种应用程序自动升级的安全方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613012A (en) * 1994-11-28 1997-03-18 Smarttouch, Llc. Tokenless identification system for authorization of electronic transactions and electronic transmissions
CN100593296C (zh) * 2007-12-28 2010-03-03 北京深思洛克软件技术股份有限公司 一种通过共享密钥实现远程升级的方法
CN103701609B (zh) * 2013-03-15 2016-09-28 福建联迪商用设备有限公司 一种服务器与操作终端双向认证的方法及系统
CN106533663B (zh) * 2016-11-01 2019-06-25 广东浪潮大数据研究有限公司 数据加密方法、加密方设备及数据解密方法、解密方设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546607A (zh) * 2010-12-15 2012-07-04 微软公司 在云上提供安全服务
US20150121070A1 (en) * 2013-10-28 2015-04-30 Disney Enterprises, Inc. Firmware security
CN105656859A (zh) * 2014-11-18 2016-06-08 航天信息股份有限公司 税控设备软件安全在线升级方法及系统
CN107026830A (zh) * 2016-02-02 2017-08-08 上海格尔软件股份有限公司 一种应用程序自动升级的安全方法

Also Published As

Publication number Publication date
CN108235807B (zh) 2020-08-04
CN108235807A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
CN107566407B (zh) 一种基于USBkey的双向认证数据安全传输与存储方法
US7975312B2 (en) Token passing technique for media playback devices
JP4668619B2 (ja) 装置鍵
CN103138939B (zh) 云存储模式下基于可信平台模块的密钥使用次数管理方法
CN110401615B (zh) 一种身份认证方法、装置、设备、系统及可读存储介质
US8171306B2 (en) Universal secure token for obfuscation and tamper resistance
US20090249492A1 (en) Fabrication of computer executable program files from source code
US20020112161A1 (en) Method and system for software authentication in a computer system
CN109379387B (zh) 一种物联网设备间的安全认证和数据通信系统
CN108768963B (zh) 可信应用与安全元件的通信方法和系统
CN113014444B (zh) 一种物联网设备生产测试系统及安全保护方法
EP2064648A1 (en) Fabrication of computer executable program files from source code
CN108323230B (zh) 一种传输密钥的方法、接收终端和分发终端
CN105872848B (zh) 一种适用于非对称资源环境的可信双向认证方法
US20130173923A1 (en) Method and system for digital content security cooperation
KR20220079648A (ko) 생체인식 지불 디바이스를 인증하기 위한 방법 및 장치, 컴퓨터 디바이스, 및 저장 매체
CN113395406A (zh) 一种基于电力设备指纹的加密认证方法及系统
CN111614467B (zh) 系统后门防御方法、装置、计算机设备和存储介质
CN111124453B (zh) 一种终端设备固件程序升级方法
US8745375B2 (en) Handling of the usage of software in a disconnected computing environment
Keleman et al. Secure firmware update in embedded systems
CN108235807B (zh) 软件加密终端、支付终端、软件包加密及解密方法及系统
CN108933790A (zh) 高安全等级的ota升级固件的加密方法
CN114282189A (zh) 一种数据安全存储方法、系统、客户端以及服务器
CN114553557A (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: 18899897

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18899897

Country of ref document: EP

Kind code of ref document: A1