CN104008351B - Windows应用程序完整性校验系统、方法及装置 - Google Patents

Windows应用程序完整性校验系统、方法及装置 Download PDF

Info

Publication number
CN104008351B
CN104008351B CN201410187958.6A CN201410187958A CN104008351B CN 104008351 B CN104008351 B CN 104008351B CN 201410187958 A CN201410187958 A CN 201410187958A CN 104008351 B CN104008351 B CN 104008351B
Authority
CN
China
Prior art keywords
check
terminal unit
client application
value
module
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
CN201410187958.6A
Other languages
English (en)
Other versions
CN104008351A (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.)
Wuhan Tianyu Information Industry Co Ltd
Original Assignee
Wuhan Tianyu Information Industry 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 Wuhan Tianyu Information Industry Co Ltd filed Critical Wuhan Tianyu Information Industry Co Ltd
Priority to CN201410187958.6A priority Critical patent/CN104008351B/zh
Publication of CN104008351A publication Critical patent/CN104008351A/zh
Application granted granted Critical
Publication of CN104008351B publication Critical patent/CN104008351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种Windows应用程序完整性校验系统、方法及装置,涉及金融支付领域。该系统包括后台服务器、设置有客户端应用程序的客户端设备、终端设备和证书服务器;后台服务器、证书服务器和客户端设备均与Internet连接,客户端设备与终端设备连接;其特征在于:所述终端设备包括安全芯片,所述安全芯片包括主控模块、安全存储模块、安全算法模块、通信模块。本发明能够在金融支付过程中完成对应用程序完整性的多重校验,比较安全,不仅能够保证终端设备身份的真实性、不可抵赖性,而且能够保证传输数据的完整性、后台服务器的真实性。

Description

Windows应用程序完整性校验系统、方法及装置
技术领域
本发明涉及金融支付领域,具体涉及一种Windows应用程序完整性校验系统、方法及装置。
背景技术
随着互联网的广泛的应用、以及第三方支付牌照的发放,金融支付产业也得到了迅速的发展,金融支付具有明显的跨行业的特征,它涉及通信、互联网、电子商务和金融等行业,针对金融支付领域完整性校验的问题,不同行业竞相推出自己的解决方案。
目前,在金融支付领域,通用的支付方式是采用后台服务器、终端设备、客户端应用程序三者结合的方式,在支付交易的过程中,终端设备通过客户端应用程序与后台服务器进行通信,那么,如何验证客户端应用程序的数据完整性,从而保证整个交易过程的安全,成为金融支付领域备受关注的问题。
常用的校验数据完整性的方法有:通过Windows校验工具校验和应用程序自校验,具体的实现方式一般为以下两种:
(1)通过比较文件哈希值
哈希值校验是目前应用最广泛的一种文件完整性校验方法,它通过某种哈希函数将任意长度的文件计算成固定长度的哈希值,且过程不可逆。两个不同的文件,通过相同的哈希函数计算出来的哈希值几乎不可能相同,所以一旦文件被改变,重新计算出的哈希值一定不同。
(2)使用数字签名
数字签名的方法是指使用非对称算法对发送的数据进行加密处理,生成一段信息,附着在原文上一起发送,这段信息类似现实中的签名,接收方对其进行验证,判断原文真伪。
虽然上述两种方法均能够验证应用程序是否被篡改,但是分别存在以下缺陷和不足:
(1)通过校验应用程序文件的哈希值,来验证文件是否被篡改的最大问题无法保证哈希值的安全存储问题,攻击者很容易将原文件及其哈希值一起改变;一旦哈希值改变,通过校验哈希值验证文件是否被篡改则不可靠。
(2)通过数字签名的方式验证文件是否被修改,可能会导致签名值过长,而且数字签名只能保证发送方的真实性和传输数据的完整性,无法保证接收方的真实性。
综上所述,通过比较文件哈希值或者使用数字签名验证文件是否被修改,均不够可靠,无法时刻准确保证校验结果的真实性,安全存在一定隐患。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种Windows应用程序完整性校验系统、方法及装置,本发明能够在金融支付过程中完成对应用程序完整性的多重校验,比较安全,不仅能够保证终端设备身份的真实性、不可抵赖性,而且能够保证传输数据的完整性、后台服务器的真实性。
为达到以上目的,本发明采取的技术方案是:一种Windows应用程序完整性校验系统,包括后台服务器、设置有客户端应用程序的客户端设备、终端设备和证书服务器;后台服务器、证书服务器和客户端设备均与Internet连接,客户端设备与终端设备连接;所述终端 设备包括安全芯片,所述安全芯片包括主控模块、安全存储模块、安全算法模块、通信模块;
在移动支付过程中,通过终端设备生成公钥和私钥,私钥存储在安全存储模块,公钥导出;向证书服务器申请终端证书,导入终端证书、客户端设备的客户端证书和后台服务器中的服务器证书至终端设备;客户端应用程序通过完整性校验算法计算校验值,将校验值导入终端设备的安全存储模块;
客户端设备的客户端应用程序启动时,通过完整性校验算法再次计算客户端应用程序的校验值;判定当前校验值与本地存储的校验值是否相同,若判定为不同,则给出客户端应用程序被篡改的信息,结束客户端应用程序完整性校验;
若判定为相同,客户端应用程序从终端设备的终端证书中提取公钥,客户端应用程序使用公钥、并采用非对称算法对当前校验值进行加密;客户端应用程序将加密后的校验值发送给终端设备;终端设备采用非对称算法、使用私钥对加密后的校验值进行解密,得到明文校验值;
终端设备将明文校验值与安全存储模块的校验值比较,得出明文校验值与安全存储模块的校验值是否相同的校验结果,若校验结果为不同,则将客户端应用程序被篡改的信息发送到客户端设备,结束客户端应用程序完整性校验;若校验结果为相同,终端设备使用私钥、并采用非对称算法对校验结果进行数字签名,拼接校验结果和签名值;
终端设备内部产生一个随机数作为对称密钥、并采用安全算法模块中的对称算法对拼接的校验结果和签名值进行加密;终端设备使用服务器证书中的公钥、并采用非对称算法对所述随机数进行加密;加 密后的校验结果、签名值和随机数形成数字信封;
终端设备将数字信封通过客户端应用程序发送至后台服务器;后台服务器使用其私钥、并采用非对称算法对数字信封进行解密,得到随机数;使用解密出的随机数、并采用所述对称算法对数字信封进行解密,得到校验结果及签名值;
后台服务器从终端设备的终端证书中提取公钥,使用终端证书中的公钥对当前签名值进行验签,若验签通过,确定发送的数字信封中的校验结果已通过终端设备验证、且传输途中未被篡改,客户端应用程序完整性校验结束;若验签未通过,确定发送的数字信封中的校验结果在传输途中已被篡改,客户端应用程序完整性校验结束。
在上述技术方案的基础上,所述客户端设备通过USB或蓝牙与终端设备连接。
在上述技术方案的基础上,所述通信模块为USB通信模块或蓝牙通信模块。
一种Windows应用程序完整性校验方法,包括以下步骤:
A、在移动支付过程中,通过终端设备生成公钥和私钥,私钥存储在安全存储模块,公钥导出;向证书服务器申请终端证书,导入终端证书、客户端设备的客户端证书和后台服务器中的服务器证书至终端设备;客户端应用程序通过完整性校验算法计算校验值,将校验值导入终端设备的安全存储模块;
B、客户端设备的客户端应用程序启动时,通过完整性校验算法再次计算客户端应用程序的校验值;判定当前校验值与本地存储的校验值是否相同,若判定为不同,则给出客户端应用程序被篡改的信息,结束客户端应用程序完整性校验,若判定为相同,进入步骤C;
C、客户端应用程序从终端设备的终端证书中提取公钥,客户端 应用程序使用公钥、并采用非对称算法对当前校验值进行加密;客户端应用程序将加密后的校验值发送给终端设备;终端设备采用非对称算法、使用私钥对加密后的校验值进行解密,得到明文校验值;
D、终端设备将明文校验值与安全存储模块的校验值比较,得出明文校验值与安全存储模块的校验值是否相同的校验结果,若校验结果为不同,则将客户端应用程序被篡改的信息发送到客户端设备,结束客户端应用程序完整性校验;若校验结果为相同,终端设备使用私钥、并采用非对称算法对校验结果进行数字签名,拼接校验结果和签名值;
终端设备内部产生一个随机数作为对称密钥、并采用安全算法模块中的对称算法对拼接的校验结果和签名值进行加密;终端设备使用服务器证书中的公钥、并采用非对称算法对所述随机数进行加密;加密后的校验结果、签名值和随机数形成数字信封;
E、终端设备将数字信封通过客户端应用程序发送至后台服务器;后台服务器使用其私钥、并采用非对称算法对数字信封进行解密,得到随机数;使用解密出的随机数、并采用所述对称算法对数字信封进行解密,得到校验结果及签名值;
后台服务器从终端设备的终端证书中提取公钥,使用终端证书中的公钥对当前签名值进行验签,若验签通过,确定发送的数字信封中的校验结果已通过终端设备验证、且传输途中未被篡改,客户端应用程序完整性校验结束;若验签未通过,确定发送的数字信封中的校验结果在传输途中已被篡改,客户端应用程序完整性校验结束。
一种实现上述校验方法的Windows应用程序完整性校验装置,包括顺次连接的校验存储模块、初步校验模块、校验安全模块、数字信封加密模块和校验结果验证模块;
所述校验存储模块,用于:在移动支付过程中,通过终端设备生成公钥和私钥,私钥存储在安全存储模块,公钥导出;向证书服务器申请终端证书,导入终端证书、客户端设备的客户端证书和后台服务器中的服务器证书至终端设备;客户端应用程序通过完整性校验算法计算校验值,将校验值导入终端设备的安全存储模块,向初步校验模块发送初步校验信号;
所述初步校验模块,用于:收到校验存储模块发送的初步校验信号后,等待客户端设备的客户端应用程序启动,客户端设备的客户端应用程序启动时,通过完整性校验算法再次计算客户端应用程序的校验值;判定当前校验值与本地存储的校验值是否相同,若判定为不同,则给出客户端应用程序被篡改的信息,结束客户端应用程序完整性校验,若判定为相同,向校验安全模块发送校验安全信号;
所述校验安全模块,用于:收到初步校验模块发送的校验安全信号后,控制客户端应用程序从终端设备的终端证书中提取公钥,客户端应用程序使用公钥、并采用非对称算法对当前校验值进行加密;客户端应用程序将加密后的校验值发送给终端设备;终端设备采用非对称算法、使用私钥对加密后的校验值进行解密,得到明文校验值,向数字信封加密模块发送数字信封加密信号;
所述数字信封加密模块,用于:收到校验安全模块发送的数字信封加密信号后,控制终端设备将明文校验值与安全存储模块的校验值比较,得出明文校验值与安全存储模块的校验值是否相同的校验结果,若校验结果为不同,则给出客户端应用程序被篡改的信息,结束客户端应用程序完整性校验;若校验结果为相同,终端设备使用私钥、并采用非对称算法对校验结果进行数字签名,拼接校验结果和签名值;
终端设备内部产生一个随机数作为对称密钥、并采用安全算法模块中的对称算法对拼接的校验结果和签名值进行加密;终端设备使用服务器证书中的公钥、并采用非对称算法对所述随机数进行加密;加密后的校验结果、签名值和随机数形成数字信封,向校验结果验证模块发送校验结果验证信号;
所述校验结果验证模块,用于:收到数字信封加密模块发送的校验结果验证信号后,控制终端设备将数字信封通过客户端应用程序发送至后台服务器;后台服务器使用其私钥、并采用非对称算法对数字信封进行解密,得到随机数;使用解密出的随机数、并采用所述对称算法对数字信封进行解密,得到校验结果及签名值;
后台服务器从终端设备的终端证书中提取公钥,使用终端证书中的公钥对当前签名值进行验签,若验签通过,确定发送的数字信封中的校验结果已通过终端设备验证、且传输途中未被篡改,客户端应用程序完整性校验结束;若验签未通过,确定发送的数字信封中的校验结果在传输途中已被篡改,客户端应用程序完整性校验结束。
与现有技术相比,本发明的优点在于:
(1)本发明中客户端应用程序的校验值存储在终端设备的安全存储模块,校验值不可通过任何方式导出,外界不可访问,能够保证作为校验标准的应用程序文件或数据的可靠性。
(2)本发明在终端设备内部生成公钥和私钥,私钥存储在终端设备的安全存储模块,私钥不可通过任何形式导出,外界不可访问,能够保证终端设备身份的真实性。
(3)本发明中客户端应用程序先通过完整性算法完成一次自校验,再通过完整性校验算法、数字签名和数字信封结合的方式,完成对终端设备的再校验。因此,本发明能够在金融支付过程中对应用程 序完整性的多重校验,比较安全。
(4)本发明的终端设备使用私钥,采用非对称算法对校验结果进行数字签名。由于数字签名是终端设备利用其私钥加密后发送给后台服务器,若后台服务器使用终端设备中的公钥能解密数字签名,才能说明当前数字签名是终端设备发送的;因此,本发明能够保证终端设备(即发送方)的不可抵赖性和后台服务器(即接收方)的真实性。
与此同时,由于数字签名是加密后发送的数据,因此能够保证机密性,而且只有后台服务器用终端设备的公钥对当前签名值验证通过,才能说明传输数据未被改动过且是真实的;因此,本发明能够保证传输数据的完整性。
附图说明
图1为本发明实施例中Windows应用程序完整性校验系统的结构示意图;
图2为本发明实施例中安全芯片的结构框图;
图3为本发明实施例中Windows应用程序完整性校验方法的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例提供的金融支付领域的Windows应用程序完整性校验系统,包括后台服务器、设置有客户端应用程序的客户端设备、终端设备和证书服务器。
后台服务器、证书服务器和客户端设备均与Internet(网络)连接,客户端设备与终端设备连接;本实施例中,客户端设备通过USB或蓝牙与终端设备连接。
终端设备包括安全芯片,参见图2所示,安全芯片包括主控模块、安全存储模块、安全算法模块、通信模块。通信模块为USB(Universal Serial Bus,通用串行总线)通信模块或蓝牙通信模块。
主控模块能够将程序代码转换为电气控制装置所能识别的控制指令,以驱动安全芯片内外各种工作模块执行任务。
安全存储模块负责数据的安全存储,存储在安全区域的数据外界不可直接访问、且不可读出,同时数据需保证在安全的环境下导入安全存储区域。
安全算法模块支持通用的安全算法,如非对称算法RSA(Ron Rivest、Adi Shamir、Leonard Adleman,罗纳德·李维斯特、阿迪·萨莫尔、伦纳德·阿德曼)、对称算法DES(Data Encryption Standard,数据加密标准)、3DES(Triple DES,三重数据加密算法)、摘要算法SHA1(Secure Hash Algorithm1,安全散列算法1)或MD5(Message DigestAlgorithm5,信息摘要算法5)、国家密码管理局规定的SM2椭圆曲线公钥密码算法,SM3密码杂凑算法、SM4对称密码算法等,在终端设备内部可以完成加密、解密、签名、验签等功能。
USB通信模块或蓝牙通信模块负责与上位机、智能手机或其它移动终端(例如运行客户端应用程序)进行通信,负责接收与响应客户端应用程序发送的指令。
本发明实施例提供的金融支付领域的Windows应用程序完整性校验方法,包括以下步骤:
S1:在移动支付过程中,通过终端设备生成公钥和私钥,私钥存储在安全存储模块,公钥导出。向证书服务器申请终端证书,导入终端证书、客户端设备的客户端证书和后台服务器中的服务器证书至终端设备。
S2:客户端设备的客户端应用程序发布时,客户端应用程序通过完整性校验算法计算校验值,将校验值在安全的环境下导入终端设备的安全存储模块。
S3:客户端设备的客户端应用程序启动时,通过完整性校验算法再次计算客户端应用程序的校验值。将当前校验值与本地存储的校验值进行比较,判断当前校验值与本地存储的校验值是否相同,若不同,则客户端应用程序被篡改,客户端应用程序完整性校验结束;否则转到步骤S4。
S4:客户端设备与终端设备建立连接,客户端应用程序从终端设备的终端证书中提取公钥,客户端应用程序采用非对称算法,使用公钥对当前校验值进行加密。
S5:客户端应用程序将加密后的校验值发送给终端设备;终端设备使用私钥、并采用非对称算法对加密后的校验值进行解密,得到明文校验值。
S6:终端设备将明文校验值与安全存储模块的校验值比较,得出校验结果;若校验结果为明文校验值与安全存储模块的校验值不同,则客户端应用程序被篡改,客户端应用程序完整性校验结束;若校验结果为明文校验值与安全存储模块的校验值相同,转到步骤S7。
S7:终端设备使用私钥,采用非对称算法对校验结果进行数字签名,拼接校验结果和签名值。终端设备内部产生一个随机数,将该随机数作为对称密钥、并采用安全算法模块中的对称算法对拼接的校验结果和签名值进行加密;终端设备使用服务器证书中的公钥、并采用非对称算法对随机数进行加密,加密后的校验结果、签名值和随机数形成数字信封。
S8:终端设备将数字信封发送给客户端应用程序;客户端应用程 序与后台服务器建立连接后,客户端应用程序将接收到的数字信封发送给后台服务器。后台服务器使用其私钥、并采用非对称算法对数字信封进行解密,得到随机数,使用解密出的随机数,采用与步骤S7相同的对称算法对数字信封进行解密,得到校验结果及签名值。
S9:后台服务器从终端设备的终端证书中提取公钥,使用终端证书中的公钥对当前签名值进行验签,若验签通过,转到步骤S10,若验签未通过,转到步骤S11。
S10:确定发送的数字信封中的校验结果已通过终端设备验证、且传输途中未被篡改,客户端应用程序完整性校验结束。
S11:确定发送的数字信封中的校验结果未通过终端设备验证,校验结果已被篡改,客户端应用程序完整性校验结束。
一种Windows应用程序完整性校验装置,包括顺次连接的校验存储模块、初步校验模块、校验安全模块、数字信封加密模块和校验结果验证模块。
校验存储模块,用于:在移动支付过程中,通过终端设备生成公钥和私钥,私钥存储在安全存储模块,公钥导出;向证书服务器申请终端证书,导入终端证书、客户端设备的客户端证书和后台服务器中的服务器证书至终端设备;客户端应用程序通过完整性校验算法计算校验值,将校验值导入终端设备的安全存储模块,向初步校验模块发送初步校验信号。
初步校验模块,用于:收到校验存储模块发送的初步校验信号后,等待客户端设备的客户端应用程序启动,客户端设备的客户端应用程序启动时,通过完整性校验算法再次计算客户端应用程序的校验值;判定当前校验值与本地存储的校验值相同,向校验安全模块发送校验安全信号。
校验安全模块,用于:收到初步校验模块发送的校验安全信号后,控制客户端应用程序从终端设备的终端证书中提取公钥,客户端应用程序使用公钥、并采用非对称算法对当前校验值进行加密;客户端应用程序将加密后的校验值发送给终端设备;终端设备采用非对称算法、使用私钥对加密后的校验值进行解密,得到明文校验值,向数字信封加密模块发送数字信封加密信号。
数字信封加密模块,用于:收到校验安全模块发送的数字信封加密信号后,控制终端设备将明文校验值与安全存储模块的校验值比较,得出明文校验值与安全存储模块的校验值相同的校验结果;终端设备使用私钥、并采用非对称算法对校验结果进行数字签名,拼接校验结果和签名值。
终端设备内部产生一个随机数作为对称密钥、并采用安全算法模块中的对称算法对拼接的校验结果和签名值进行加密;终端设备使用服务器证书中的公钥、并采用非对称算法对所述随机数进行加密;加密后的校验结果、签名值和随机数形成数字信封,向校验结果验证模块发送校验结果验证信号。
校验结果验证模块,用于:收到数字信封加密模块发送的校验结果验证信号后,控制终端设备将数字信封通过客户端应用程序发送至后台服务器;后台服务器使用其私钥、并采用非对称算法对数字信封进行解密,得到随机数;使用解密出的随机数、并采用所述对称算法对数字信封进行解密,得到校验结果及签名值。
后台服务器从终端设备的终端证书中提取公钥,使用终端证书中的公钥对当前签名值进行验签,若验签通过,确定发送的数字信封中的校验结果已通过终端设备验证、且传输途中未被篡改,客户端应用程序完整性校验结束;若验签未通过,确定发送的数字信封中的校验 结果在传输途中已被篡改,客户端应用程序完整性校验结束。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (5)

1.一种Windows应用程序完整性校验系统,包括后台服务器、设置有客户端应用程序的客户端设备、终端设备和证书服务器;后台服务器、证书服务器和客户端设备均与Internet连接,客户端设备与终端设备连接;其特征在于:所述终端设备包括安全芯片,所述安全芯片包括主控模块、安全存储模块、安全算法模块、通信模块;
在移动支付过程中,通过终端设备生成公钥和私钥,私钥存储在安全存储模块,公钥导出;向证书服务器申请终端证书,导入终端证书、客户端设备的客户端证书和后台服务器中的服务器证书至终端设备;客户端应用程序通过完整性校验算法计算校验值,将校验值导入终端设备的安全存储模块;
客户端设备的客户端应用程序启动时,通过完整性校验算法再次计算客户端应用程序的校验值;判定当前校验值与本地存储的校验值是否相同,若判定为不同,则给出客户端应用程序被篡改的信息,结束客户端应用程序完整性校验;
若判定为相同,客户端应用程序从终端设备的终端证书中提取公钥,客户端应用程序使用公钥、并采用非对称算法对当前校验值进行加密;客户端应用程序将加密后的校验值发送给终端设备;终端设备采用非对称算法、使用私钥对加密后的校验值进行解密,得到明文校验值;
终端设备将明文校验值与安全存储模块的校验值比较,得出明文校验值与安全存储模块的校验值是否相同的校验结果,若校验结果为不同,则将客户端应用程序被篡改的信息发送到客户端设备,结束客户端应用程序完整性校验;若校验结果为相同,终端设备使用私钥、并采用非对称算法对校验结果进行数字签名,拼接校验结果和签名值;
终端设备内部产生一个随机数作为对称密钥、并采用安全算法模块中的对称算法对拼接的校验结果和签名值进行加密;终端设备使用服务器证书中的公钥、并采用非对称算法对所述随机数进行加密;加密后的校验结果、签名值和随机数形成数字信封;
终端设备将数字信封通过客户端应用程序发送至后台服务器;后台服务器使用其私钥、并采用非对称算法对数字信封进行解密,得到随机数;使用解密出的随机数、并采用所述对称算法对数字信封进行解密,得到校验结果及签名值;
后台服务器从终端设备的终端证书中提取公钥,使用终端证书中的公钥对当前签名值进行验签,若验签通过,确定发送的数字信封中的校验结果已通过终端设备验证、且传输途中未被篡改,客户端应用程序完整性校验结束;若验签未通过,确定发送的数字信封中的校验结果在传输途中已被篡改,客户端应用程序完整性校验结束。
2.如权利要求1所述的Windows应用程序完整性校验系统,其特征在于:所述客户端设备通过USB或蓝牙与终端设备连接。
3.如权利要求2所述的Windows应用程序完整性校验系统,其特征在于:所述通信模块为USB通信模块或蓝牙通信模块。
4.一种Windows应用程序完整性校验方法,其特征在于,包括以下步骤:
A、在移动支付过程中,通过终端设备生成公钥和私钥,私钥存储在安全存储模块,公钥导出;向证书服务器申请终端证书,导入终端证书、客户端设备的客户端证书和后台服务器中的服务器证书至终端设备;客户端应用程序通过完整性校验算法计算校验值,将校验值导入终端设备的安全存储模块;
B、客户端设备的客户端应用程序启动时,通过完整性校验算法再次计算客户端应用程序的校验值;判定当前校验值与本地存储的校验值是否相同,若判定为不同,则给出客户端应用程序被篡改的信息,结束客户端应用程序完整性校验,若判定为相同,进入步骤C;
C、客户端应用程序从终端设备的终端证书中提取公钥,客户端应用程序使用公钥、并采用非对称算法对当前校验值进行加密;客户端应用程序将加密后的校验值发送给终端设备;终端设备采用非对称算法、使用私钥对加密后的校验值进行解密,得到明文校验值;
D、终端设备将明文校验值与安全存储模块的校验值比较,得出明文校验值与安全存储模块的校验值是否相同的校验结果,若校验结果为不同,则将客户端应用程序被篡改的信息发送到客户端设备,结束客户端应用程序完整性校验;若校验结果为相同,终端设备使用私钥、并采用非对称算法对校验结果进行数字签名,拼接校验结果和签名值;
终端设备内部产生一个随机数作为对称密钥、并采用安全算法模块中的对称算法对拼接的校验结果和签名值进行加密;终端设备使用服务器证书中的公钥、并采用非对称算法对所述随机数进行加密;加密后的校验结果、签名值和随机数形成数字信封;
E、终端设备将数字信封通过客户端应用程序发送至后台服务器;后台服务器使用其私钥、并采用非对称算法对数字信封进行解密,得到随机数;使用解密出的随机数、并采用所述对称算法对数字信封进行解密,得到校验结果及签名值;
后台服务器从终端设备的终端证书中提取公钥,使用终端证书中的公钥对当前签名值进行验签,若验签通过,确定发送的数字信封中的校验结果已通过终端设备验证、且传输途中未被篡改,客户端应用程序完整性校验结束;若验签未通过,确定发送的数字信封中的校验结果在传输途中已被篡改,客户端应用程序完整性校验结束。
5.一种实现权利要求4所述校验方法的Windows应用程序完整性校验装置,其特征在于:包括顺次连接的校验存储模块、初步校验模块、校验安全模块、数字信封加密模块和校验结果验证模块;
所述校验存储模块,用于:在移动支付过程中,通过终端设备生成公钥和私钥,私钥存储在安全存储模块,公钥导出;向证书服务器申请终端证书,导入终端证书、客户端设备的客户端证书和后台服务器中的服务器证书至终端设备;客户端应用程序通过完整性校验算法计算校验值,将校验值导入终端设备的安全存储模块,向初步校验模块发送初步校验信号;
所述初步校验模块,用于:收到校验存储模块发送的初步校验信号后,等待客户端设备的客户端应用程序启动,客户端设备的客户端应用程序启动时,通过完整性校验算法再次计算客户端应用程序的校验值;判定当前校验值与本地存储的校验值是否相同,若判定为不同,则给出客户端应用程序被篡改的信息,结束客户端应用程序完整性校验,若判定为相同,向校验安全模块发送校验安全信号;
所述校验安全模块,用于:收到初步校验模块发送的校验安全信号后,控制客户端应用程序从终端设备的终端证书中提取公钥,客户端应用程序使用公钥、并采用非对称算法对当前校验值进行加密;客户端应用程序将加密后的校验值发送给终端设备;终端设备采用非对称算法、使用私钥对加密后的校验值进行解密,得到明文校验值,向数字信封加密模块发送数字信封加密信号;
所述数字信封加密模块,用于:收到校验安全模块发送的数字信封加密信号后,控制终端设备将明文校验值与安全存储模块的校验值比较,得出明文校验值与安全存储模块的校验值是否相同的校验结果,若校验结果为不同,则给出客户端应用程序被篡改的信息,结束客户端应用程序完整性校验;若校验结果为相同,终端设备使用私钥、并采用非对称算法对校验结果进行数字签名,拼接校验结果和签名值;
终端设备内部产生一个随机数作为对称密钥、并采用安全算法模块中的对称算法对拼接的校验结果和签名值进行加密;终端设备使用服务器证书中的公钥、并采用非对称算法对所述随机数进行加密;加密后的校验结果、签名值和随机数形成数字信封,向校验结果验证模块发送校验结果验证信号;
所述校验结果验证模块,用于:收到数字信封加密模块发送的校验结果验证信号后,控制终端设备将数字信封通过客户端应用程序发送至后台服务器;后台服务器使用其私钥、并采用非对称算法对数字信封进行解密,得到随机数;使用解密出的随机数、并采用所述对称算法对数字信封进行解密,得到校验结果及签名值;
后台服务器从终端设备的终端证书中提取公钥,使用终端证书中的公钥对当前签名值进行验签,若验签通过,确定发送的数字信封中的校验结果已通过终端设备验证、且传输途中未被篡改,客户端应用程序完整性校验结束;若验签未通过,确定发送的数字信封中的校验结果在传输途中已被篡改,客户端应用程序完整性校验结束。
CN201410187958.6A 2014-05-06 2014-05-06 Windows应用程序完整性校验系统、方法及装置 Active CN104008351B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410187958.6A CN104008351B (zh) 2014-05-06 2014-05-06 Windows应用程序完整性校验系统、方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410187958.6A CN104008351B (zh) 2014-05-06 2014-05-06 Windows应用程序完整性校验系统、方法及装置

Publications (2)

Publication Number Publication Date
CN104008351A CN104008351A (zh) 2014-08-27
CN104008351B true CN104008351B (zh) 2017-03-15

Family

ID=51369001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410187958.6A Active CN104008351B (zh) 2014-05-06 2014-05-06 Windows应用程序完整性校验系统、方法及装置

Country Status (1)

Country Link
CN (1) CN104008351B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104200137A (zh) * 2014-09-04 2014-12-10 成都卫士通信息产业股份有限公司 一种保护java程序自身安全的方法
CN105490997B (zh) * 2014-10-10 2019-05-14 阿里巴巴集团控股有限公司 安全校验方法、装置、终端及服务器
CN106850519B (zh) * 2016-01-08 2020-11-17 北京万维星辰科技有限公司 应用安全性认证方法及装置
CN105893837B (zh) * 2016-03-31 2019-04-30 北京智能果技术有限公司 应用程序安装方法、安全加密芯片及终端
CN105915342A (zh) * 2016-07-01 2016-08-31 广州爱九游信息技术有限公司 一种应用程序通信处理系统、设备、装置及方法
CN106330947A (zh) * 2016-09-06 2017-01-11 西安瀚炬网络科技有限公司 一种识别伪装WiFi的方法、系统及系统工作方法
CN108197469B (zh) * 2017-11-28 2020-12-18 东软集团股份有限公司 校验应用程序的方法、装置和存储介质以及电子设备
CN108846266A (zh) * 2018-07-11 2018-11-20 中国联合网络通信集团有限公司 一种应用程序运行授权的方法、系统以及通信终端
CN110929248B (zh) * 2019-11-22 2023-08-08 中电长城(长沙)信息技术有限公司 基于安全授权的cen/xfs sp实现方法、装置及金融自助设备
CN111310180A (zh) * 2020-02-18 2020-06-19 上海迅软信息科技有限公司 一种企业信息安全用计算机进程防冒充方法
CN111641615A (zh) * 2020-05-20 2020-09-08 深圳市今天国际物流技术股份有限公司 一种基于证书的分布式身份验证方法及系统
CN112653689B (zh) * 2020-12-16 2023-03-24 北京观数科技有限公司 一种终端零信任安全控制方法及系统
CN116305093B (zh) * 2021-11-19 2024-06-18 荣耀终端有限公司 小应用程序的操作方法和电子设备
CN114785514B (zh) * 2022-03-23 2023-11-14 国网上海能源互联网研究院有限公司 一种用于工业物联化终端应用许可授权的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006118561A1 (en) * 2005-04-29 2006-11-09 Contentguard Holdings Inc. Systems and methods for integrity certification and verification
CN102103778A (zh) * 2011-02-23 2011-06-22 中兴通讯股份有限公司 移动支付系统、移动终端及移动支付业务的实现方法
CN102111378A (zh) * 2009-12-25 2011-06-29 上海格尔软件股份有限公司 签名验证系统
CN102610045A (zh) * 2012-03-22 2012-07-25 瑞达信息安全产业股份有限公司 一种可信移动支付系统及移动支付方法
CN102930185A (zh) * 2012-11-28 2013-02-13 中国人民解放军国防科学技术大学 运行时程序安全关键数据的完整性验证方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006118561A1 (en) * 2005-04-29 2006-11-09 Contentguard Holdings Inc. Systems and methods for integrity certification and verification
CN102111378A (zh) * 2009-12-25 2011-06-29 上海格尔软件股份有限公司 签名验证系统
CN102103778A (zh) * 2011-02-23 2011-06-22 中兴通讯股份有限公司 移动支付系统、移动终端及移动支付业务的实现方法
CN102610045A (zh) * 2012-03-22 2012-07-25 瑞达信息安全产业股份有限公司 一种可信移动支付系统及移动支付方法
CN102930185A (zh) * 2012-11-28 2013-02-13 中国人民解放军国防科学技术大学 运行时程序安全关键数据的完整性验证方法及装置

Also Published As

Publication number Publication date
CN104008351A (zh) 2014-08-27

Similar Documents

Publication Publication Date Title
CN104008351B (zh) Windows应用程序完整性校验系统、方法及装置
CN111080295B (zh) 一种基于区块链的电子合同处理方法以及设备
CN111835511A (zh) 数据安全传输方法、装置、计算机设备及存储介质
CN107770159B (zh) 车辆事故数据记录方法及相关装置、可读存储介质
US10270762B2 (en) User authentication method for enhancing integrity and security
CN108462581A (zh) 网络令牌生成的方法、装置、终端设备及存储介质
CN107844946A (zh) 一种电子合同签署的方法、装置及服务器
CN105162797B (zh) 一种基于视频监控系统的双向认证方法
CN102663591A (zh) 基于电子标签的产品防伪方法和系统
US20120005474A1 (en) Information system and method of identifying a user by an application server
US9230133B2 (en) Secure access for sensitive digital information
CN108323230B (zh) 一种传输密钥的方法、接收终端和分发终端
CN102970676B (zh) 一种对原始数据进行处理的方法、物联网系统及终端
CN103914913A (zh) 一种智能卡应用场景识别方法及系统
CN114760114B (zh) 身份认证方法、装置、设备及介质
EP3480718B1 (en) System and method for facilitating authentication via a shortrange wireless token
CN111859431B (zh) 电子文件签章方法、装置、电子设备及存储介质
CN106656993B (zh) 一种动态验证码验证方法及装置
CN110795742A (zh) 高速密码运算的度量处理方法、装置、存储介质及处理器
CN102624711A (zh) 一种敏感信息传输方法及系统
EP2827529B1 (en) Method, device, and system for identity authentication
CN109951294B (zh) 电子标签系统中的信息更新管理方法及相关设备
CN107548542B (zh) 经强化完整性及安全性的用户认证方法
CN106027252A (zh) 一种身份证认证系统中的云认证平台
CN102571341B (zh) 一种基于动态图像的认证系统及认证方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant