CN104462965A - 应用程序完整性验证方法及网络设备 - Google Patents

应用程序完整性验证方法及网络设备 Download PDF

Info

Publication number
CN104462965A
CN104462965A CN201410647567.8A CN201410647567A CN104462965A CN 104462965 A CN104462965 A CN 104462965A CN 201410647567 A CN201410647567 A CN 201410647567A CN 104462965 A CN104462965 A CN 104462965A
Authority
CN
China
Prior art keywords
application program
digital signature
data
described application
network equipment
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.)
Granted
Application number
CN201410647567.8A
Other languages
English (en)
Other versions
CN104462965B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410647567.8A priority Critical patent/CN104462965B/zh
Publication of CN104462965A publication Critical patent/CN104462965A/zh
Priority to PCT/CN2015/086262 priority patent/WO2016074506A1/zh
Priority to EP15859659.3A priority patent/EP3196797A4/en
Priority to US15/594,264 priority patent/US10846393B2/en
Application granted granted Critical
Publication of CN104462965B publication Critical patent/CN104462965B/zh
Priority to US17/090,588 priority patent/US20210124820A1/en
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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种应用程序完整性验证方法及网络设备。该方法包括:当启动应用程序时,对该应用程序的数据进行特征值运算,得到该应用程序的第一摘要;根据内嵌密钥对中的公钥,对存储的该应用程序的数字签名进行解密,得到该应用程序的第二摘要,该数字签名是该应用程序每发生一次更新时,根据密钥对中的私钥,对该应用程序的数据进行签名得到,密钥对是该应用程序对应的厂商密钥对;如果第一摘要与第二摘要相同,则确定该应用程序的完整性验证通过,否则,确定该应用程序的完整性验证不通过。本发明实施例的方法和网络设备中,在更新该应用程序之后,可以实现对该应用程序的完整性验证。

Description

应用程序完整性验证方法及网络设备
技术领域
本发明涉及一种应用程序完整性验证方法及网络设备。
背景技术
随着互联网的快速发展,人们通过互联网进行网银转账、网上购物等网络操作的频率越来越高。与此同时,一些恶意分子通过篡改网络设备中应用程序来窃取用户的账号、密码等隐私信息,进而对用户的财产安全产生威胁,因此,亟需一种对应用程序的完整性进行验证,从而判断该应用程序是否被篡改过。
目前,为了更进一步保证应用程序的完整性,防止恶意分子对应用程序的篡改,可以在网络设备中设置安全中央处理器(Central Processing Unit,CPU)和可信平台模块(Trusted Platform Module,TPM)芯片。这样,当厂商发布应用程序时,对该应用程序的数据进行哈希运算,得到该应用程序的第一哈希摘要,通过厂商私钥对第一哈希摘要信息进行签名,得到该应用程序的数字签名,并将该应用程序的数字签名和该应用程序的数据打包成程序包并发布。当网络设备下载到该应用程序的程序包时,将该程序包中的数字签名存储在TPM芯片中。后续,网络设备启动该应用程序时,网络设备中的安全CPU对该应用程序的数据进行哈希运算,得到该应用程序的第二哈希摘要,并从该网络设备的TPM芯片中获取该应用程序的数字签名,安全CPU利用内嵌的厂商公钥对获取的数字签名进行解密,得到该应用程序的第一哈希摘要,将第一哈希摘要与第二哈希摘要进行比较,如果两者相同,则确定该应用程序没有被篡改,该应用程序的完整性验证通过,否则,确定该应程序被篡改,该应用程序的完整性验证不通过。
当网络设备中应用程序存在漏洞时,需要对该应用程序打补丁,补丁一般会分布在该应用程序的多个数据片段,而网络设备的TPM芯片中存储的数字签名是该应用程序发布时进行签名得到,也即是,TPM芯片中存储的数字签名是基于该应用程序的原始数据得到,所以,该应用程序打补丁之后的数据与原始数据不同,无法基于原始数据的数字签名对打补丁之后的应用程序进行完整性验证。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种应用程序完整性验证方法及网络设备。所述技术方案如下:
第一方面,提供了一种应用程序完整性验证方法,所述方法包括:
当启动应用程序时,对所述应用程序的数据进行特征值运算,得到所述应用程序的第一摘要;
根据内嵌密钥对中的公钥,对存储的所述应用程序的数字签名进行解密,得到所述应用程序的第二摘要,所述数字签名是所述应用程序每发生一次更新时,根据所述密钥对中的私钥,对所述应用程序的数据进行签名得到,所述密钥对是所述应用程序对应的厂商密钥对;
如果所述第一摘要与所述第二摘要相同,则确定所述应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定所述应用程序的完整性验证不通过。
结合第一方面,在上述第一方面的第一种可能的实现方式中,所述当启动应用程序时,对所述应用程序的数据进行特征值运算,得到所述应用程序的第一摘要之前,还包括:
当接收到更新完成指令时,对所述应用程序的数据进行特征值运算,得到所述应用程序的所述第二摘要;
根据所述私钥,对所述第二摘要进行签名,得到所述应用程序的数字签名;
存储所述应用程序的数字签名。
结合第一方面或第一方面的第一种可能的实现方式,在上述第一方面的第二种可能的实现方式中,所述对所述应用程序的数据进行特征值运算,得到所述应用程序的第二摘要,包括:
将内存中所述应用程序的数据读入安全中央处理器CPU内部的静态随机存储器SRAM中;
通过所述安全CPU内部的安全引擎读取所述SRAM中的数据;
通过所述安全引擎对读取的数据进行特征值运算,得到所述应用程序的第二摘要。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在上述第一方面的第三种可能的实现方式中,所述存储所述应用程序的数字签名,包括:
将所述应用程序的数字签名存储在安全CPU内部的可信非易失性随机访问存储器NVRAM中。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在上述第一方面的第四种可能的实现方式中,所述根据内嵌密钥对中的公钥,对存储的所述应用程序的数字签名进行解密,得到所述应用程序的第二摘要之前,还包括:
通过所述安全CPU内部的安全引擎,获取所述可信NVRAM中存储的数字签名。
第二方面,提供了一种网络设备,所述网络设备包括:
第一运算模块,用于当启动应用程序时,对所述应用程序的数据进行特征值运算,得到所述应用程序的第一摘要;
解密模块,用于根据内嵌密钥对中的公钥,对存储的所述应用程序的数字签名进行解密,得到所述应用程序的第二摘要,所述数字签名是所述应用程序每发生一次更新时,根据所述密钥对中的私钥,对所述应用程序的数据进行签名得到,所述密钥对是所述应用程序对应的厂商密钥对;
确定模块,用于如果所述第一摘要与所述第二摘要相同,则确定所述应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定所述应用程序的完整性验证不通过。
结合第二方面,在上述第二方面的第一种可能的实现方式中,所述网络设备还包括:
第二运算模块,用于当接收到更新完成指令时,对所述应用程序的数据进行特征值运算,得到所述应用程序的第二摘要;
签名模块,用于根据所述私钥,对所述第二摘要进行签名,得到所述应用程序的数字签名;
存储模块,用于存储所述应用程序的数字签名。
结合第一方面的第一种可能的实现方式,在上述第一方面的第二种可能的实现方式中,所述第二运算模块包括:
读入单元,用于将内存中所述应用程序的数据读入安全中央处理器CPU内部的静态随机存储器SRAM中;
读取单元,用于通过所述安全CPU内部的安全引擎读取所述SRAM中的数据;
运算单元,用于通过所述安全引擎对读取的数据进行特征值运算,得到所述应用程序的第二摘要。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在上述第一方面的第三种可能的实现方式中,所述存储模块包括:
存储单元,用于将所述应用程序的数字签名存储在安全CPU内部的可信非易失性随机访问存储器NVRAM中。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在上述第一方面的第四种可能的实现方式中,所述网络设备还包括:
获取模块,用于通过所述安全CPU内部的安全引擎,获取所述可信NVRAM中存储的数字签名。
在本发明实施例中,网络设备中的应用程序每发生一次更新时,该应用程序的数据会发生更新,此时,网络设备根据内嵌的密钥对中的私钥,对该应用程序的数据进行签名,得到该应用程序的数字签名。当启动该应用程序时,对该应用程序的数据进行特征值运算,得到该应用程序的第一摘要,并根据密钥对中的公钥,对该应用程序的数字签名进行解密,得到该应用程序的第二摘要;如果第一摘要与第二摘要相同,则确定该应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定该应用程序的完整性验证不通过。由于厂商密钥对内嵌在网络设备中,且网络设备每更新一次该应用程序时,根据密钥对中的私钥,对该应用程序的数据进行签名,使该应用程序的数字签名得到更新,进而使第二摘要也得到更新,保证更新该应用程序之后,可以对该应用程序进行完整性验证。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用程序完整性验证方法流程图;
图2是本发明实施例提供的一种应用程序完整性验证方法流程图;
图3是本发明实施例提供的一种安全CPU的内部结构示意图;
图4是本发明实施例提供的一种网络设备结构示意图;
图5是本发明实施例提供的另一种网络设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明进行详细的解释说明之前,首先介绍一下本发明实施例的应用场景。由于恶意分子可以篡改网络设备中的应用程序来窃取用户的账号、密码等隐私信息,进而对用户的财产安全产生威胁,所以,每当启动该应用程序时,网络设备需要对该应用程序的完整性进行验证,从而确定该应用程序是否被篡改过。而随着时间的推移,网络设备中的应用程序可能会存在漏洞,此时,就需要对网络设备中的应用程序打补丁,补丁一般会分布在该应用程序的多个数据片段,无法按照应用程序单独进行完整性验证、补丁单独进行完整性验证的方法对打补丁之后的应用程序进行完整性验证;另外,网络设备的可信平台模块(Trusted Platform Module,TPM)芯片中存储的数字签名是基于该应用程序的原始数据得到,所以,该应用程序打补丁之后的数据与原始数据不同,无法基于原始数据的数字签名对打补丁之后的应用程序进行完整性验证。因此,本发明实施例提供了一种应用程序完整性验证方法,在应用程序打补丁之后,网络设备依然可以对该应用程序的完整性进行验证。
图1是本发明实施例提供的一种应用程序完整性验证方法的流程图,该方法的执行主体为网络设备,该网络设备的可信位置保存有应用程序对应的厂商密钥对,参见图1,该方法包括:
S101:当启动应用程序时,对该应用程序的数据进行特征值运算,得到该应用程序的第一摘要。
在本发明实施例中,特征值运算可以为哈希运算,当然,特征值运算还可以为其他的运算方法,本发明实施例对此不做具体限定。另外,当特征值运算为哈希运算时,哈希运算的算法可以为安全哈希算法(Secure Hash Algorithm,SHA)、SHA2算法、中国国家密码管理局发布的中国商用密码杂凑算法标准SM3密码杂凑算法(SM3 Cryptographic Hash Algorithm)等等,本发明实施例对此不做具体限定。
S102:根据内嵌密钥对中的公钥,对存储的该应用程序的数字签名进行解密,得到该应用程序的第二摘要,该数字签名是该应用程序每发生一次更新时,根据密钥对中的私钥,对该应用程序的数据进行签名得到,密钥对是该应用程序对应的厂商密钥对。
S103:如果第一摘要与第二摘要相同,则确定该应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定该应用程序的完整性验证不通过。
在本发明实施例中,网络设备中的应用程序每发生一次更新时,该应用程序的数据会发生更新,此时,网络设备根据内嵌的密钥对中的私钥,对该应用程序的数据进行签名,得到该应用程序的数字签名。当启动该应用程序时,对该应用程序的数据进行特征值运算,得到该应用程序的第一摘要,并根据密钥对中的公钥,对该应用程序的数字签名进行解密,得到该应用程序的第二摘要;如果第一摘要与第二摘要相同,则确定该应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定该应用程序的完整性验证不通过。由于厂商密钥对内嵌在网络设备中,且网络设备每更新一次该应用程序时,根据密钥对中的私钥,对该应用程序的数据进行签名,使该应用程序的数字签名得到更新,进而使第二摘要也得到更新,保证更新该应用程序之后,可以对该应用程序进行完整性验证。
可选地,当启动应用程序时,对该应用程序的数据进行特征值运算,得到该应用程序的第一摘要之前,还包括:
当接收到更新完成指令时,对该应用程序的数据进行特征值运算,得到该应用程序的第二摘要;
根据该密钥对中的私钥,对第二摘要进行签名,得到该应用程序的数字签名;
存储该应用程序的数字签名。
可选地,对该应用程序的数据进行特征值运算,得到该应用程序的第二摘要,包括:
将内存中该应用程序的数据读入安全中央处理器CPU内部的静态随机存储器(Static Random Access Memory,SRAM)中;
通过安全CPU内部的安全引擎读取SRAM中的数据;
通过安全引擎对读取的数据进行特征值运算,得到该应用程序的第二摘要。
可选地,存储该应用程序的数字签名,包括:
将该应用程序的数字签名存储在安全CPU内部的可信非易失性随机访问存储器(Non-Volatile Random Access Memory,NVRAM)中。
可选地,根据内嵌密钥对中的公钥,对存储的该应用程序的数字签名进行解密,得到该应用程序的第二摘要之前,还包括:
通过安全CPU内部的安全引擎,获取可信NVRAM中存储的数字签名。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
图2是本发明实施例提供的一种应用程序完整性验证方法的流程图,该方法的执行主体可以为网络设备,该网络设备的可信位置保存有应用程序对应的厂商密钥对,参见图2,该方法包括:
S201:当接收到更新完成指令时,对该应用程序的数据进行特征值运算,得到该应用程序的第二摘要。
由于网络设备中该应用程序可能会存在漏洞,网络设备需要对该应用程序进行打补丁,或者厂商对该应用程序进行升级,网络设备需要对该应用程序进行升级,当对该应用程序打补丁完成或者升级完成时,网络设备会接收到更新完成指令,该更新完成指令可以是网络设备进行触发得到,也可以是网络设备接收到服务器向发送的完成响应时进行触发得到,该服务器为存储该应用程序的设备。对网络设备中的应用程序进行更新之后,网络设备中应用程序的数据发生变化,此时,需要重新计算该应用程序的第二摘要,进而重新对该应用程序进行签名。
另外,为了更进一步保证该应用程序的完整性,防止恶意分子对该应用程序的篡改,可以在网络设备中设置安全CPU,该安全CPU的内部结构图如图3所示。该安全CPU包括安全引擎、处理器、SRAM、密钥对存储设备和可信NVRAM,安全引擎、SRAM、密钥对存储设备和可信NVRAM都是安全且可信的,安全引擎用于读取SRAM中的数据,并对读取的数据进行处理,SRAM用于存储可信的应用程序的数据,密钥对存储设备用于存储厂商密钥对,可信NVRAM用于存储该应用程序的数字签名。因此,对该应用程序的数据进行特征值运算,得到该应用程序的第二摘要的操作具体可以为:安全CPU将内存中该应用程序的数据读入安全中央处理器CPU内部的静态随机存储器SRAM中;安全CPU内部的安全引擎读取SRAM中的数据;且该安全引擎对读取的数据进行特征值运算,得到该应用程序的第二摘要。
其中,安全引擎可以从SRAM中读取数据,处理器无法从SRAM中读取数据,保证SRAM中的数据不会被感染,进而保证数据的可信性和可靠性。另外,特征值运算可以是哈希运算,当然,还可以是其他的运算方法,本发明实施例对此不做具体限定。另外,当特征值运算为哈希运算时,哈希运算的算法可以为安全哈希算法(Secure Hash Algorithm,SHA)、SHA2算法、中国国家密码管理局发布的中国商用密码杂凑算法标准SM3密码杂凑算法(SM3 CryptographicHash Algorithm)等等,本发明实施例对此不做具体限定。
需要说明的是,本发明实施例中涉及的应用程序可以为操作系统,该操作系统还可以自带应用APP,当然,该应用程序也可以为第三方应用程序,本发明实施例对此不做具体限定。另外,本发明实施例中涉及的网络设备可以为路由器等网络设备,该网络设备的操作系统可以为嵌入式操作系统,当然,对于安装有普通操作系统的设备,也可以基于与本发明实施例相同或相似的方法进行应用程序完整性验证,比如,安装有普通操作系统的设备可以为计算机、手机、掌上电脑等,本发明实施例同样对此不做具体限定。
S202:根据内嵌密钥对中的私钥,对第二摘要进行签名,得到该应用程序的数字签名,该密钥对是该应用程序对应的厂商密钥对。
具体地,安全引擎从密钥对存储设备中获取该密钥对中的私钥,根据获取的私钥,对第二摘要进行签名,得到该应用程序的数字签名。
其中,根据获取的私钥对第二摘要进行签名的算法可以包括多种,比如,RSA、ElGamal、Fiat-Shamir、Schnorr等等,本发明实施例对采用的签名算法不做具体限定。
S203:存储该应用程序的数字签名。
其中,可以将该应用程序的数字签名存储在安全中央处理器CPU内部的可信非易失性随机访问存储器NVRAM中。可信NVRAM中存储数字签名的区域不允许处理器读写,只允许安全引擎读写,保证NVRAM中存储数字签名的区域不会被感染,进而保证存储的数字签名的可信性和可靠性。
需要说明的是,当网络设备首次下载该应用程序且接收到下载完成指令时,该网络设备也可以按照与S201至203相似的方法,计算该应用程序的数字签名,并存储在可信NVRAM中。当该应用程序每发生一次更新时,网络设备按照S201至203的步骤,根据密钥对中的私钥,对该应用程序的数据进行签名,得到该应用程序的数字签名,进而,将可信NVRAM中存储的数字签名替换为当前计算的该应用程序的数字签名。
另外,本发明实施中并没有将该应用程序的数字签名存储在TPM芯片中,而是存储在CPU内部的可信NVRAM中,这样,可以不用在网络设备中布置TPM芯片,降低了应用程序完整性验证的成本。
当对网络设备中该应用程序进行更新,并根据S201至S203,对该应用程序的数字签名进行更新之后,网络设备中存储的数字签名是基于该应用程序更新之后的数据进行签名得到,而不是基于该应用程序的原始数据进行签名得到,保证网络设备中存储的数字签名是最新的,进而可以通过S204至206对该应用程序的完整性进行验证。
S204:当启动该应用程序时,对该应用程序的数据进行特征值运算,得到该应用程序的第一摘要。
具体地,当启动该应用程序时,安全CPU将内存中该应用程序的数据读入安全CPU内部的SRAM中;安全CPU内部的安全引擎读取SRAM中的数据;且该安全引擎对读取的数据进行特征值运算,得到该应用程序的第一摘要。
S205:根据密钥对中的公钥,对存储的该应用程序的数字签名进行解密,得到该应用程序的第二摘要。
由于该应用程序的数字签名可以存储在安全CPU内部的可信NVRAM中,所以,安全引擎根据密钥对中的公钥,对存储的该应用程序的数字签名进行解密,得到该应用程序的第二摘要之前,还可以包括:安全CPU内部的安全引擎,获取可信NVRAM中存储的数字签名,保证可信NVRAM中存储的数字签名不会被感染。
其中,根据密钥对中的公钥,对存储的该应用程序的数字签名进行解密的算法与S202中的签名算法相同,本发明实施例同样对此不做具体限定。
S206:如果第一摘要与第二摘要相同,则确定该应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定该应用程序的完整性验证不通过。
具体地,安全引擎将第一摘要与第二摘要进行比较,如果第一摘要与第二摘要相同,则确定该应用程序没有被篡改,该应用程序的完整性验证通过,如果第一摘要与第二摘要不同,则确定该应用程序被篡改,该应用程序的完整性验证不通过。进一步地,当确定该应用程序的完整性验证不通过时,网络设备可以显示提示信息,以提醒用户该应用程序被篡改过,使用户不再使用该应用程序,防止产生安全事件,即用户账号、密码等隐私信息被盗取。
由于上述S201中计算的第二摘要是基于该应用程序更新之后的数据进行计算得到,即,第二摘要为基准摘要,如果恶意分子对该应用程序进行篡改,则上述S204中计算的第一摘要是基于该应用程序篡改后的数据进行计算得到,因此,可以通过第一摘要和第二摘要,对该应用程序的完整性进行验证。
另外,网络设备对该应用程序进行数字签名,使该应用程序的完整性保护的机制完全迁移到网络设备侧,该应用程序的完整性不再依赖厂商私钥的私密性,因此,厂商和用户实现了安全解耦,不再相互依赖,一旦恶意分子对该应用程序进行篡改并出现安全事件时,安全事件的职责比较清晰。再者,当对网络设备中该应用程序打补丁或者升级,且该网络设备为大型电信设备时,由于电信设备要求运行的业务不能中断,一旦业务中断会产生严重的后果,因此,本发明实施例提供的方法可以在线对该应用程序打补丁或者升级,避免了该电信设备中运行的业务中断。
在本发明实施例中,网络设备中的应用程序每发生一次更新时,该应用程序的数据会发生更新,此时,网络设备根据内嵌的密钥对中的私钥,对该应用程序的数据进行签名,得到该应用程序的数字签名。当启动该应用程序时,对该应用程序的数据进行特征值运算,得到该应用程序的第一摘要,并根据密钥对中的公钥,对该应用程序的数字签名进行解密,得到该应用程序的第二摘要;如果第一摘要与第二摘要相同,则确定该应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定该应用程序的完整性验证不通过。由于厂商密钥对内嵌在网络设备中,且网络设备每更新一次该应用程序时,根据密钥对中的私钥,对该应用程序的数据进行签名,使该应用程序的数字签名得到更新,进而使第二摘要也得到更新,保证更新该应用程序之后,可以对该应用程序进行完整性验证。
图4是本发明实施例提供的一种网络设备结构示意图,该网络设备的可信位置保存有应用程序对应的厂商密钥对,参见图4,该网络设备包括:第一运算模块401、解密模块402和确定模块403。
第一运算模块401,用于当启动应用程序时,对该应用程序的数据进行特征值运算,得到该应用程序的第一摘要;
解密模块402,用于根据内嵌密钥对中的公钥,对存储的该应用程序的数字签名进行解密,得到该应用程序的第二摘要,该数字签名是该应用程序每发生一次更新时,根据密钥对中的私钥,对该应用程序的数据进行签名得到,密钥对是该应用程序对应的厂商密钥对;
确定模块403,用于如果第一摘要与第二摘要相同,则确定该应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定该应用程序的完整性验证不通过。
可选地,该网络设备还包括:
第二运算模块,用于当接收到更新完成指令时,对该应用程序的数据进行特征值运算,得到该应用程序的第二摘要;
签名模块,用于根据密钥对中的私钥,对第二摘要进行签名,得到该应用程序的数字签名;
存储模块,用于存储该应用程序的数字签名。
可选地,第二运算模块包括:
读入单元,用于将内存中该应用程序的数据读入安全中央处理器CPU内部的静态随机存储器SRAM中;
读取单元,用于通过安全CPU内部的安全引擎读取SRAM中的数据;
运算单元,用于通过安全引擎对读取的数据进行特征值运算,得到该应用程序的第二摘要。
可选地,存储模块包括:
存储单元,用于将该应用程序的数字签名存储在安全CPU内部的可信非易失性随机访问存储器NVRAM中。
可选地,该网络设备还包括:
获取模块,用于通过安全CPU内部的安全引擎,获取可信NVRAM中存储的数字签名。
可选地,当特征值运算为哈希运算时,哈希运算的算法可以为安全哈希算法(Secure Hash Algorithm,SHA)、SHA2算法、中国国家密码管理局发布的中国商用密码杂凑算法标准SM3密码杂凑算法(SM3 Cryptographic Hash Algorithm)等等,本发明实施例对此不做具体限定。
在本发明实施例中,网络设备中的应用程序每发生一次更新时,该应用程序的数据会发生更新,此时,网络设备根据内嵌的密钥对中的私钥,对该应用程序的数据进行签名,得到该应用程序的数字签名。当启动该应用程序时,对该应用程序的数据进行特征值运算,得到该应用程序的第一摘要,并根据密钥对中的公钥,对该应用程序的数字签名进行解密,得到该应用程序的第二摘要;如果第一摘要与第二摘要相同,则确定该应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定该应用程序的完整性验证不通过。由于厂商密钥对内嵌在网络设备中,且网络设备每更新一次该应用程序时,根据密钥对中的私钥,对该应用程序的数据进行签名,使该应用程序的数字签名得到更新,进而使第二摘要也得到更新,保证更新该应用程序之后,可以对该应用程序进行完整性验证。
需要说明的是:上述实施例提供的网络设备在应用程序完整性验证时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将网络设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络设备与应用程序完整性验证方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
图5是本发明实施例提供的另一种网络设备结构示意图,参见图5,该网络设备包括:安全处理器501和可信存储器502。
安全处理器501,用于当启动应用程序时,对该应用程序的数据进行特征值运算,得到该应用程序的第一摘要;根据内嵌密钥对中的公钥,对存储的该应用程序的数字签名进行解密,得到该应用程序的第二摘要,该数字签名是该应用程序每发生一次更新时,根据密钥对中的私钥,对该应用程序的数据进行签名得到,密钥对是该应用程序对应的厂商密钥对;如果第一摘要与第二摘要相同,则确定该应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定该应用程序的完整性验证不通过。
可选地,安全处理器501,还用于当接收到更新完成指令时,对该应用程序的数据进行特征值运算,得到该应用程序的第二摘要;根据密钥对中的私钥,对第二摘要进行签名,得到该应用程序的数字签名;
可信存储器502,用于存储该应用程序的数字签名。
可选地,安全处理器501,还用于将内存中该应用程序的数据读入安全中央处理器CPU内部的静态随机存储器SRAM中;读取SRAM中的数据;对读取的数据进行特征值运算,得到该应用程序的第二摘要。
可选地,所述安全中央处理器CPU可以位于安全处理器501中。
可选地,所述安全中央处理器CPU可以与安全处理器501分立设置。
可选地,安全处理器501,还用于将该应用程序的数字签名存储在安全CPU内部的可信非易失性随机访问存储器NVRAM中。
可选地,安全处理器501,还用于获取可信NVRAM中存储的数字签名。
可选地,当特征值运算为哈希运算时,哈希运算的算法可以为安全哈希算法(Secure Hash Algorithm,SHA)、SHA2算法、中国国家密码管理局发布的中国商用密码杂凑算法标准SM3密码杂凑算法(SM3 Cryptographic Hash Algorithm)等等,本发明实施例对此不做具体限定。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
在本发明实施例中,网络设备中的应用程序每发生一次更新时,该应用程序的数据会发生更新,此时,网络设备根据内嵌的密钥对中的私钥,对该应用程序的数据进行签名,得到该应用程序的数字签名。当启动该应用程序时,对该应用程序的数据进行特征值运算,得到该应用程序的第一摘要,并根据密钥对中的公钥,对该应用程序的数字签名进行解密,得到该应用程序的第二摘要;如果第一摘要与第二摘要相同,则确定该应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定该应用程序的完整性验证不通过。由于厂商密钥对内嵌在网络设备中,且网络设备每更新一次该应用程序时,根据密钥对中的私钥,对该应用程序的数据进行签名,使该应用程序的数字签名得到更新,进而使第二摘要也得到更新,保证更新该应用程序之后,可以对该应用程序进行完整性验证。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种应用程序完整性验证方法,其特征在于,所述方法包括:
当启动应用程序时,对所述应用程序的数据进行特征值运算,得到所述应用程序的第一摘要;
根据内嵌密钥对中的公钥,对存储的所述应用程序的数字签名进行解密,得到所述应用程序的第二摘要,所述数字签名是所述应用程序每发生一次更新时,根据所述密钥对中的私钥,对所述应用程序的数据进行签名得到,所述密钥对是所述应用程序对应的厂商密钥对;
如果所述第一摘要与所述第二摘要相同,则确定所述应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定所述应用程序的完整性验证不通过。
2.如权利要求1所述的方法,其特征在于,所述当启动应用程序时,对所述应用程序的数据进行特征值运算,得到所述应用程序的第一摘要之前,还包括:
当接收到更新完成指令时,对所述应用程序的数据进行特征值运算,得到所述应用程序的所述第二摘要;
根据所述私钥,对所述第二摘要进行签名,得到所述应用程序的数字签名;
存储所述应用程序的数字签名。
3.如权利要求1或2所述的方法,其特征在于,所述对所述应用程序的数据进行特征值运算,得到所述应用程序的第二摘要,包括:
将内存中所述应用程序的数据读入安全中央处理器CPU内部的静态随机存储器SRAM中;
通过所述安全CPU内部的安全引擎读取所述SRAM中的数据;
通过所述安全引擎对读取的数据进行特征值运算,得到所述应用程序的第二摘要。
4.如权利要求2或3所述的方法,其特征在于,所述存储所述应用程序的数字签名,包括:
将所述应用程序的数字签名存储在安全中央处理器CPU内部的可信非易失性随机访问存储器NVRAM中。
5.如权利要求2或3或4所述的方法,其特征在于,所述根据内嵌密钥对中的公钥,对存储的所述应用程序的数字签名进行解密,得到所述应用程序的第二摘要之前,还包括:
通过所述安全中央处理器CPU内部的安全引擎,获取所述可信非易失性随机访问存储器NVRAM中存储的数字签名。
6.一种网络设备,其特征在于,所述网络设备包括:
第一运算模块,用于当启动应用程序时,对所述应用程序的数据进行特征值运算,得到所述应用程序的第一摘要;
解密模块,用于根据内嵌密钥对中的公钥,对存储的所述应用程序的数字签名进行解密,得到所述应用程序的第二摘要,所述数字签名是所述应用程序每发生一次更新时,根据所述密钥对中的私钥,对所述应用程序的数据进行签名得到,所述密钥对是所述应用程序对应的厂商密钥对;
确定模块,用于如果所述第一摘要与所述第二摘要相同,则确定所述应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定所述应用程序的完整性验证不通过。
7.如权利要求6所述的网络设备,其特征在于,所述网络设备还包括:
第二运算模块,用于当接收到更新完成指令时,对所述应用程序的数据进行特征值运算,得到所述应用程序的第二摘要;
签名模块,用于根据所述私钥,对所述第二摘要进行签名,得到所述应用程序的数字签名;
存储模块,用于存储所述应用程序的数字签名。
8.如权利要求7所述的网络设备,其特征在于,所述第二运算模块包括:
读入单元,用于将内存中所述应用程序的数据读入安全中央处理器CPU内部的静态随机存储器SRAM中;
读取单元,用于通过所述安全CPU内部的安全引擎读取所述SRAM中的数据;
运算单元,用于通过所述安全引擎对读取的数据进行特征值运算,得到所述应用程序的第二摘要。
9.如权利要求7或8所述的网络设备,其特征在于,所述存储模块包括:
存储单元,用于将所述应用程序的数字签名存储在安全中央处理器CPU内部的可信非易失性随机访问存储器NVRAM中。
10.如权利要求7或8或9所述的网络设备,其特征在于,所述网络设备还包括:
获取模块,用于通过所述安全中央处理器CPU内部的安全引擎,获取所述可信非易失性随机访问存储器NVRAM中存储的数字签名。
CN201410647567.8A 2014-11-14 2014-11-14 应用程序完整性验证方法及网络设备 Active CN104462965B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201410647567.8A CN104462965B (zh) 2014-11-14 2014-11-14 应用程序完整性验证方法及网络设备
PCT/CN2015/086262 WO2016074506A1 (zh) 2014-11-14 2015-08-06 应用程序完整性验证方法及网络设备
EP15859659.3A EP3196797A4 (en) 2014-11-14 2015-08-06 Method and network device for authenticating application program integrity
US15/594,264 US10846393B2 (en) 2014-11-14 2017-05-12 Application program integrity verification method and network device
US17/090,588 US20210124820A1 (en) 2014-11-14 2020-11-05 Application program integrity verification method and network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410647567.8A CN104462965B (zh) 2014-11-14 2014-11-14 应用程序完整性验证方法及网络设备

Publications (2)

Publication Number Publication Date
CN104462965A true CN104462965A (zh) 2015-03-25
CN104462965B CN104462965B (zh) 2018-03-13

Family

ID=52908990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410647567.8A Active CN104462965B (zh) 2014-11-14 2014-11-14 应用程序完整性验证方法及网络设备

Country Status (4)

Country Link
US (2) US10846393B2 (zh)
EP (1) EP3196797A4 (zh)
CN (1) CN104462965B (zh)
WO (1) WO2016074506A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016074506A1 (zh) * 2014-11-14 2016-05-19 华为技术有限公司 应用程序完整性验证方法及网络设备
WO2016165662A1 (zh) * 2015-04-15 2016-10-20 李京海 一种手机准数字证书子系统及其系统及其方法
WO2017067490A1 (zh) * 2015-10-22 2017-04-27 李京海 一种数字证书子系统
CN107306184A (zh) * 2016-04-18 2017-10-31 爱特梅尔公司 以安全代码验证进行的消息认证
CN107545181A (zh) * 2017-08-16 2018-01-05 上海策赢网络科技有限公司 程序运行方法、终端及计算机可读存储介质
CN107908962A (zh) * 2017-12-05 2018-04-13 深圳鼎智通讯股份有限公司 应用于Android智能终端的自检方法
CN108027861A (zh) * 2015-09-25 2018-05-11 高通股份有限公司 安全启动装置、系统和方法
CN108255505A (zh) * 2018-01-10 2018-07-06 浪潮(北京)电子信息产业有限公司 一种固件更新方法、装置、设备及计算机可读存储介质
CN108363929A (zh) * 2018-02-09 2018-08-03 广州旭能信息科技有限公司 一种存储设备信息消除报告生成和防篡改系统及方法
CN108667594A (zh) * 2017-03-27 2018-10-16 上海格尔软件股份有限公司 一种基于pki公钥算法的软件程序模块完整性检测方法
CN109814934A (zh) * 2019-01-31 2019-05-28 安谋科技(中国)有限公司 数据处理方法、装置、可读介质和系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107968708B (zh) * 2017-11-10 2020-01-17 财付通支付科技有限公司 生成签名的方法、装置、终端及服务器
CN111046436A (zh) * 2018-10-11 2020-04-21 中国人民解放军战略支援部队航天工程大学 基于系统级包管理的签名认证方法及服务器
JP7174237B2 (ja) * 2018-11-29 2022-11-17 富士通株式会社 鍵生成装置、鍵更新方法および鍵更新プログラム
JP7283552B2 (ja) * 2019-09-27 2023-05-30 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
US11582036B1 (en) * 2019-10-18 2023-02-14 Splunk Inc. Scaled authentication of endpoint devices
JP7249968B2 (ja) * 2020-03-09 2023-03-31 株式会社東芝 情報処理装置およびストレージ
CN112433742A (zh) * 2020-11-26 2021-03-02 中电金融设备系统(深圳)有限公司 安全的固件更新方法、装置、设备及存储介质
CN112613030A (zh) * 2020-12-15 2021-04-06 深圳市燃气集团股份有限公司 一种基于物联网燃气表的可信安全启动方法及系统
CN114064462A (zh) * 2021-11-01 2022-02-18 中金金融认证中心有限公司 一种用于对应用程序进行校验的装置、方法和相关产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101251883A (zh) * 2008-03-11 2008-08-27 北京深思洛克数据保护中心 一种对软件保护设备进行安全可控的远程升级的方法
CN103731395A (zh) * 2012-10-10 2014-04-16 中兴通讯股份有限公司 文件的处理方法及系统
CN103810421A (zh) * 2014-02-19 2014-05-21 北京视博数字电视科技有限公司 应用程序的校验方法、装置和终端设备
US8788841B2 (en) * 2008-10-23 2014-07-22 Samsung Electronics Co., Ltd. Representation and verification of data for safe computing environments and systems

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5643086A (en) * 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
US5835594A (en) * 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US6694434B1 (en) * 1998-12-23 2004-02-17 Entrust Technologies Limited Method and apparatus for controlling program execution and program distribution
US7043641B1 (en) * 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
US7203841B2 (en) * 2001-03-08 2007-04-10 Igt Encryption in a secure computerized gaming system
US7093132B2 (en) 2001-09-20 2006-08-15 International Business Machines Corporation Method and apparatus for protecting ongoing system integrity of a software product using digital signatures
US7240201B2 (en) * 2003-08-01 2007-07-03 Hewlett-Packard Development Company, L.P. Method and apparatus to provide secure communication between systems
KR100888594B1 (ko) * 2006-03-15 2009-03-16 삼성전자주식회사 라이센스 생성 방법 및 이를 이용한 컨텐츠 제공 방법 및 그 장치
US9280337B2 (en) * 2006-12-18 2016-03-08 Adobe Systems Incorporated Secured distribution of software updates
US8001390B2 (en) * 2007-05-09 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for secure programming and storage of data using a multiprocessor in a trusted mode
JP5458657B2 (ja) 2009-05-01 2014-04-02 ソニー株式会社 情報処理装置、鍵更新方法、及びプログラム
RU2520942C2 (ru) * 2010-02-15 2014-06-27 Сименс Акциенгезелльшафт Способ функционирования энергетической автоматизированной системы и энергетическая автоматизированная система
US9201642B2 (en) * 2013-03-15 2015-12-01 International Business Machines Corporation Extending platform trust during program updates
EP2840492A1 (en) * 2013-08-23 2015-02-25 British Telecommunications public limited company Method and apparatus for modifying a computer program in a trusted manner
CN103577748B (zh) 2013-11-20 2017-01-18 北京可信华泰信息技术有限公司 基于可信计算的动态度量方法与管理系统
CN104462965B (zh) * 2014-11-14 2018-03-13 华为技术有限公司 应用程序完整性验证方法及网络设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101251883A (zh) * 2008-03-11 2008-08-27 北京深思洛克数据保护中心 一种对软件保护设备进行安全可控的远程升级的方法
US8788841B2 (en) * 2008-10-23 2014-07-22 Samsung Electronics Co., Ltd. Representation and verification of data for safe computing environments and systems
CN103731395A (zh) * 2012-10-10 2014-04-16 中兴通讯股份有限公司 文件的处理方法及系统
CN103810421A (zh) * 2014-02-19 2014-05-21 北京视博数字电视科技有限公司 应用程序的校验方法、装置和终端设备

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016074506A1 (zh) * 2014-11-14 2016-05-19 华为技术有限公司 应用程序完整性验证方法及网络设备
US10846393B2 (en) 2014-11-14 2020-11-24 Huawei Technologies Co., Ltd. Application program integrity verification method and network device
WO2016165662A1 (zh) * 2015-04-15 2016-10-20 李京海 一种手机准数字证书子系统及其系统及其方法
CN108027861A (zh) * 2015-09-25 2018-05-11 高通股份有限公司 安全启动装置、系统和方法
WO2017067490A1 (zh) * 2015-10-22 2017-04-27 李京海 一种数字证书子系统
CN107306184A (zh) * 2016-04-18 2017-10-31 爱特梅尔公司 以安全代码验证进行的消息认证
US11876791B2 (en) 2016-04-18 2024-01-16 Amtel Corporation Message authentication with secure code verification
CN108667594A (zh) * 2017-03-27 2018-10-16 上海格尔软件股份有限公司 一种基于pki公钥算法的软件程序模块完整性检测方法
CN108667594B (zh) * 2017-03-27 2022-10-11 格尔软件股份有限公司 一种基于pki公钥算法的软件程序模块完整性检测方法
CN107545181B (zh) * 2017-08-16 2021-04-27 上海策赢网络科技有限公司 程序运行方法、终端及计算机可读存储介质
CN107545181A (zh) * 2017-08-16 2018-01-05 上海策赢网络科技有限公司 程序运行方法、终端及计算机可读存储介质
CN107908962A (zh) * 2017-12-05 2018-04-13 深圳鼎智通讯股份有限公司 应用于Android智能终端的自检方法
CN108255505A (zh) * 2018-01-10 2018-07-06 浪潮(北京)电子信息产业有限公司 一种固件更新方法、装置、设备及计算机可读存储介质
CN108363929A (zh) * 2018-02-09 2018-08-03 广州旭能信息科技有限公司 一种存储设备信息消除报告生成和防篡改系统及方法
CN108363929B (zh) * 2018-02-09 2022-05-13 广州旭能信息科技有限公司 一种存储设备信息消除报告生成和防篡改系统及方法
CN109814934A (zh) * 2019-01-31 2019-05-28 安谋科技(中国)有限公司 数据处理方法、装置、可读介质和系统

Also Published As

Publication number Publication date
EP3196797A1 (en) 2017-07-26
US20170249456A1 (en) 2017-08-31
US10846393B2 (en) 2020-11-24
US20210124820A1 (en) 2021-04-29
EP3196797A4 (en) 2017-09-06
CN104462965B (zh) 2018-03-13
WO2016074506A1 (zh) 2016-05-19

Similar Documents

Publication Publication Date Title
CN104462965A (zh) 应用程序完整性验证方法及网络设备
US10721080B2 (en) Key-attestation-contingent certificate issuance
CN109214168B (zh) 固件升级方法及装置
EP3458999B1 (en) Self-contained cryptographic boot policy validation
EP3308522B1 (en) System, apparatus and method for multi-owner transfer of ownership of a device
CN110492990B (zh) 区块链场景下的私钥管理方法、装置及系统
US8874922B2 (en) Systems and methods for multi-layered authentication/verification of trusted platform updates
KR101662618B1 (ko) 단일 신뢰 플랫폼 모듈을 가진 플랫폼 컴포넌트의 측정
CN110798315B (zh) 基于区块链的数据处理方法、装置及终端
CN106716957B (zh) 高效且可靠的认证
US8533829B2 (en) Method for monitoring managed device
CN109635572B (zh) 一种基于区块链的合约签订方法、装置及终端设备
US20200026882A1 (en) Methods and systems for activating measurement based on a trusted card
CN107294710B (zh) 一种vTPM2.0的密钥迁移方法及装置
EP3251044B1 (en) Portable security device
WO2015042981A1 (zh) 加解密处理方法、装置和设备
CN108335105B (zh) 数据处理方法及相关设备
CN104715183A (zh) 一种虚拟机运行时的可信验证方法和设备
CN110795742A (zh) 高速密码运算的度量处理方法、装置、存储介质及处理器
US11520859B2 (en) Display of protected content using trusted execution environment
US20200145395A1 (en) System and method for generating and managing a key package
CN114880011A (zh) Ota升级方法、装置、电子设备及可读存储介质
JP2015104020A (ja) 通信端末装置、通信端末関連付けシステム、通信端末関連付け方法、及びコンピュータプログラム
US9270649B1 (en) Secure software authenticator data transfer between processing devices
CN108154037B (zh) 进程间的数据传输方法和装置

Legal Events

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