CN108235807B - 软件加密终端、支付终端、软件包加密及解密方法及*** - Google Patents

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

Info

Publication number
CN108235807B
CN108235807B CN201880000009.9A CN201880000009A CN108235807B CN 108235807 B CN108235807 B CN 108235807B CN 201880000009 A CN201880000009 A CN 201880000009A CN 108235807 B CN108235807 B CN 108235807B
Authority
CN
China
Prior art keywords
key
software package
encryption
software
hash value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880000009.9A
Other languages
English (en)
Other versions
CN108235807A (zh
Inventor
万文超
洪逸轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Landi Commercial Equipment Co Ltd
Original Assignee
Fujian Landi Commercial Equipment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Landi Commercial Equipment Co Ltd filed Critical Fujian Landi Commercial Equipment Co Ltd
Publication of CN108235807A publication Critical patent/CN108235807A/zh
Application granted granted Critical
Publication of CN108235807B publication Critical patent/CN108235807B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

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密钥MACKey(衍生规则参考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 (9)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN108235807A CN108235807A (zh) 2018-06-29
CN108235807B true CN108235807B (zh) 2020-08-04

Family

ID=62657714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880000009.9A Active CN108235807B (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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217363A (zh) * 2007-12-28 2008-07-09 北京深思洛克数据保护中心 一种通过共享密钥实现远程升级的方法
CN103746800A (zh) * 2013-03-15 2014-04-23 福建联迪商用设备有限公司 一种终端主密钥tmk安全下载方法及***
CN106533663A (zh) * 2016-11-01 2017-03-22 广东浪潮大数据研究有限公司 数据加密方法、加密方设备及数据解密方法、解密方设备

Family Cites Families (5)

* 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
US8479008B2 (en) * 2010-12-15 2013-07-02 Microsoft Corporation Providing security services on the cloud
US9418229B2 (en) * 2013-10-28 2016-08-16 Disney Enterprises, Inc. Firmware security
CN105656859B (zh) * 2014-11-18 2020-08-11 航天信息股份有限公司 税控设备软件安全在线升级方法及***
CN107026830A (zh) * 2016-02-02 2017-08-08 上海格尔软件股份有限公司 一种应用程序自动升级的安全方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217363A (zh) * 2007-12-28 2008-07-09 北京深思洛克数据保护中心 一种通过共享密钥实现远程升级的方法
CN103746800A (zh) * 2013-03-15 2014-04-23 福建联迪商用设备有限公司 一种终端主密钥tmk安全下载方法及***
CN106533663A (zh) * 2016-11-01 2017-03-22 广东浪潮大数据研究有限公司 数据加密方法、加密方设备及数据解密方法、解密方设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种改进DUKPT密钥管理***的单片机设计;陈章余;《电子器件》;20150430;第38卷(第02期);386-391 *

Also Published As

Publication number Publication date
CN108235807A (zh) 2018-06-29
WO2019136736A1 (zh) 2019-07-18

Similar Documents

Publication Publication Date Title
CN107566407B (zh) 一种基于USBkey的双向认证数据安全传输与存储方法
CN108513704B (zh) 终端主密钥的远程分发方法及其***
CN110401615B (zh) 一种身份认证方法、装置、设备、***及可读存储介质
Biham et al. Rogue7: Rogue engineering-station attacks on s7 simatic plcs
CN108512846B (zh) 一种终端与服务器之间的双向认证方法和装置
CN108377190B (zh) 一种认证设备及其工作方法
KR100670005B1 (ko) 모바일 플랫폼을 위한 메모리의 무결성을 원격으로 확인하는 확인장치 및 그 시스템 그리고 무결성 확인 방법
CN101350718B (zh) 一种基于用户识别模块的播放内容权限范围的保护方法
KR101753859B1 (ko) 서버 및 이에 의한 스마트홈 환경의 관리 방법, 스마트홈 환경의 가입 방법 및 스마트 기기와의 통신 세션 연결 방법
CN102595213B (zh) 可信电视终端安全认证方法和***
CN108323230B (zh) 一种传输密钥的方法、接收终端和分发终端
CN107944234B (zh) 一种Android设备的刷机控制方法
US20130311784A1 (en) System and method for preventing unauthorized access to information
CN111124453B (zh) 一种终端设备固件程序升级方法
CN111143856A (zh) 一种plc远程固件升级***及方法
CN110971593B (zh) 一种数据库安全网络访问方法
CN111401901B (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
CN105872848A (zh) 一种适用于非对称资源环境的可信双向认证方法
CN111540093A (zh) 一种门禁控制***及其控制方法
CN108777673B (zh) 一种在区块链中进行双向身份认证方法
CN113395406A (zh) 一种基于电力设备指纹的加密认证方法及***
EP3292654A1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
CN109922022A (zh) 物联网通信方法、平台、终端和***
US20060053288A1 (en) Interface method and device for the on-line exchange of content data in a secure manner
CN107968764B (zh) 一种认证方法及装置

Legal Events

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