CN107003917A - 用于提供验证应用完整性的方法和设备 - Google Patents

用于提供验证应用完整性的方法和设备 Download PDF

Info

Publication number
CN107003917A
CN107003917A CN201580063547.9A CN201580063547A CN107003917A CN 107003917 A CN107003917 A CN 107003917A CN 201580063547 A CN201580063547 A CN 201580063547A CN 107003917 A CN107003917 A CN 107003917A
Authority
CN
China
Prior art keywords
application
verification
signature
modified
code
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.)
Pending
Application number
CN201580063547.9A
Other languages
English (en)
Inventor
C.萨蒙-勒加尼厄
M.卡鲁米
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.)
InterDigital CE Patent Holdings SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN107003917A publication Critical patent/CN107003917A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Detection And Correction Of Errors (AREA)
  • Storage Device Security (AREA)

Abstract

设备(110)接收(S302)应用的APK文件,在此期间代码被修改(S306)。修改后的代码的校验和被生成(S308)并且使用设备(110)的OS(210)中的不可信实体(214)的签名密钥(215)被签名(S310)。签名的校验和以及签名密钥的证书(216)被存储(S312)在存储器(112)中的保留空间(226,228)中。然后可以执行(S314)经修改的应用,在此期间应用(220)的库(230)中的完整性验证模块(232)可以验证经修改的应用的完整性。该解决方案特别适用于使用安卓OS的设备,因为DEX在安装期间被优化为ODEX或者被编译为ELF,对其而言没有签名。

Description

用于提供验证应用完整性的方法和设备
技术领域
本公开通常涉及计算机***,并且特别涉及这样的***中的软件代码的完整性。
背景技术
本节旨在向读者介绍技术的各个方面,这可能与下面描述和/或要求保护的本公开的各个方面有关。认为该讨论有助于向读者提供背景信息以便于更好地理解本公开的各个方面。因此,应当理解,要从该角度来阅读这些陈述,而不是作为对现有技术的承认。
由于各种原因,通常希望确保处理设备执行未被篡改的软件。为此目的,可以使用不同的技术来保护软件镜像免受篡改攻击。最常用的技术是在代码片段上计算签名或校验和,然后在稍后的阶段验证签名或校验和。通常在没有任何秘密的情况下计算和验证校验和,而生成加密签名需要私钥和对应公钥验证签名。
基于校验和的保护的示例是Windows操作***中使用的可移植可执行(PE)格式的CRC32。PE头包含CRC32字段,其给出对应代码段的校验和。为了成功绕过保护,攻击者首先修改代码段,然后利用在经修改的代码段上计算的新值来替代原始校验和。这种类型的攻击是可能的,因为攻击者不需要任何秘密来更新经修改的代码段的校验和。
鉴于校验和的弱点,加密签名是优选解决方案。签名的生成在代码释放之前被执行并且使用私有(因此是秘密)密钥。相关联的公钥被附加到代码,并且稍后用于在代码安装或运行时校验代码完整性。攻击者仍然可以修改代码,但是由于在没有私钥的情况下无法生成代码的正确签名,所以攻击失败。
存在用于校验以本机代码传递和执行的应用的完整性的许多解决方案,诸如由Arxan(GuardITTM)、Metaforic(MetafortressTM)等提供的解决方案。本机代码是可由处理器直接执行的汇编器指令的集合。安装之后指令集合不改变,这意味着程序完整性值在安装之前和安装之后保持相同(即随时间保持不变)。在这种情况下,签名可以被预先生成并且与应用包一起传递。
另一方面,以解释代码(诸如以Java编写的代码、安卓DEX代码等)的形式分发的应用包括在其被执行之前必须通过解释器的中间指令。与本机代码不同,解释代码可以在安装时间之后被修改以用于优化目的。代码修改通常非常依赖于目标平台,因此不一定是可预测的。如果代码被修改,则根据解释代码所生成的签名不能用于在运行时动态地校验代码完整性和真实性。
为了将应用软件分发和安装到前面提到的安卓操作***上,使用称为APK(Android Application PacKage,安卓应用包)的文件格式。为了制作APK文件,首先将针对安卓的程序编译为中间语言,然后将它的部分打包成压缩存档文件(ZIP格式)。存档文件包含单个DEX(Dalvik EXecutable code,Dalvik可执行代码)文件中的整个程序代码、各种资源(例如镜像文件)以及APK文件的清单。存档文件包括两个附加文件:CERT.SF和CERT.RSA。CERT.SF包含所有其他存档文件的加密散列;CERT.RSA包含用于签名验证的公钥。只有CERT.SF利用RSA私钥被签名。CERT.SF的RSA签名使得能够在安装期间验证APK文件的整个内容。实际上,CERT.SF文件中提到的所有文件都是间接签名的,因为CERT.SF包含它们的散列。在安装之前更改任何文件将导致错误,因为软件将检测到文件摘要与CERT.SF文件中的散列不匹配。替选地,修改CERT.SF文件内的加密散列值(如在已经描述的对基于校验和的验证的攻击中)将在签名验证期间导致错误。
DEX文件头还包含DEX文件内容的全局校验和。在首次执行应用时,安卓***使用优化器,在执行之前该优化器及时将DEX解释字节代码修改为称为ODEX(优化DEX)的优化机器指令序列。优化器还更新校验和。然后将ODEX文件存储在安卓文件***中的特定存储库中以用于将来使用。然后ODEX文件成为应用软件的参考,并且当其存在时,不再使用原始DEX文件。
在运行时,***可以使用ODEX校验和来验证应用的完整性。然而,在安卓操作***和用于执行ODEX代码的Dalvik机器中,该选项不是默认设置的,并不总是校验ODEX校验和,因为校验和验证对执行性能具有不可忽视的影响。
安卓版本5.0及更高版本引入了替代Dalvik机器的安卓运行时间(AndroidRuntime,ART)。应用仍然以DEX代码部署,但是在安装时,使用提前编译(AOT)功能将DEX代码编译为本机代码。对DEX文件的AOT编译产生二进制可执行可链接格式(ELF)文件。然后将应用的DEX代码编译一次,并且然后每次执行应用时随后启动ELF代码。当ART直接运行本机代码(ELF代码)时,带来更快的应用执行并改善总体功耗。因此可以看出,在安卓***中,只在安装时验证APK签名。此外,如果用户允许安装来自不可信的源的应用,则APK即使在未被由中央机构签名时,也可以安装在安卓设备上。然后应用开发者使用他们拥有的自签名证书,其不与任何可信机构链接。在这种情况下,经篡改的应用可以由其所有者不知道的安卓设备上的任何黑客退出并重新安装。
如已经提到的,安卓应用使用解释器可移植格式(DEX)。该可移植格式可以在具有不同架构和特性的大量设备上执行:ARM、x86、MIPS、小/大字节序(Little/Big Endian)等。为了提高性能,DEX代码在安装时或者在首次使用应用时被修改,以产生ODEX或者针对目标设备优化的ELF二进制。在优化或OAT编译期间,可能在代码中修改各种内容:指令可能被其他指令替代,指令的对齐可能被改变,字节顺序可能被交换,等等。
于是优化和OAT编译引发安全问题。虽然仍然可以使用CERT.SF和CERT.RSA来验证DEX文件的签名,但是对于ODEX和ELF文件而言不是这样的情况,因为ODEX和ELF文件已被修改,并且它们的完整性不再与原始DEX签名链接。换句话说,完整性和真实性只能在安装时被验证,而不能在运行时被验证,因为攻击者能够修改ODEX和ELF代码,并相应地更新头部中的最终校验和。
因此,***容易受到至少两类攻击:远程攻击和根源攻击。在远程攻击中,下载的恶意应用提升其权限并获得***许可。然后恶意应用可以篡改存储在内部储存器的缓存存储库上的ODEX和ELF文件。在根源攻击中,攻击者获得安卓设备,例如通过窃取设备或者通过在所有者不存在时访问设备,无需锁定设备会话。攻击者可以通过USB链接从设备的内部储存器取回所安装的应用,修改应用,然后将经修改的应用推回到内部储存器上。为了使后者的攻击成功,设备必须是“根源的”(即需要“根源访问”来控制设备的安卓***)。
因此,安卓应用完整性的信任可能在应用的生命周期期间被破坏。可以信任安卓***上安装的内容,但不一定是正在运行的内容。
应当理解,期望具有解决方案,其克服与解释代码应用的完整性和真实性相关的问题的至少一部分。本公开提供这样的解决方案。
发明内容
在第一方面,本公开针对一种用于处理应用的设备。该设备包括接口,被配置为接收应用,存储器,被配置为存储应用和经修改的应用的签名的校验和,以及处理单元,被配置为修改应用以获得经修改的应用,生成经修改的应用的校验和,使用签名密钥对经修改的应用的校验和进行签名,以及将签名的校验和存储在存储器中。
第一方面的各种实施例包括:
·应用包括第一校验和,并且处理单元还被配置为使用第一校验和来验证应用的完整性。有利的是,对第一校验和进行签名,并且处理单元还被配置为验证第一校验和的签名。
·处理单元还配置为在执行经修改的应用期间使用签名的校验和来验证经修改的应用的完整性。
·将应用实现为解释代码,并且将经修改的应用实现为优化解释代码,或者将经修改的应用编译为本机代码。
·设备是智能手机或平板。
·使用软件保护技术来保护签名密钥。
·处理单元被配置为生成经修改的代码的多个校验和,每个校验和是针对经修改的代码的不同部分而生成的,并且对经修改的代码的多个校验和进行签名。
·处理单元被配置为针对经修改的代码的多个校验和生成单个签名。
·存储器还被配置为存储经修改的应用和签名密钥的证书,并且处理器还被配置为将签名密钥的证书存储在存储器中。
在第二方面,本公开针对一种用于处理应用的方法。设备接收应用,修改应用以获得经修改的应用,生成经修改的应用的校验和,使用签名密钥对经修改的应用的校验和进行签名,以及将签名的校验和存储在存储器中的存储器中。
第二方面的各种实施例包括:
·应用包括第一校验和,并且该方法还包括使用第一校验和来验证应用的完整性。
·对第一校验和进行签名,并且该方法还包括验证第一校验和的签名。
·该方法还包括在执行经修改的应用期间使用签名的校验和来验证经修改的应用的完整性。
·该方法还包括将经修改的应用和签名密钥的证书存储在存储器中。
附图说明
现在将参照附图通过非限制性示例来描述本公开的优选特征,附图中:
图1图示了实现本公开的示例性***;
图2图示了示例性***功能方面;
图3图示了根据本公开的优选实施例的方法的优选实施例。
具体实施方式
图1图示了实现本公开的示例性***。***包括设备110和应用提供商(应用商店)120。设备110可以是运行安卓OS的任何种类的合适的设备,诸如智能电话或平板,并且它包括至少一个硬件处理单元(“处理器”)111、存储器112、用于与用户交互的用户接口113、以及用于通过诸如因特网的连接140与应用提供商120通信的通信接口114。本领域技术人员将理解,为清楚起见,所示设备是非常简化的,并且另外的实际设备将包括诸如电源和永久储存器的特征。应用提供商120存储可以由设备110下载的至少一个应用APK文件122,该APK文件包括由签名实体签名的APK证书。
图2图示了示例性***的功能方面。设备110的OS 210包括签名模块212和嵌入的可信实体214。可信实体214存储签名密钥215与对应的签名证书216。签名密钥215可以是(至少在统计上)对于设备或者对于OS的版本唯一的,并且其可以被对于每个设备唯一的设备密钥保护。证书由签名实体直接签名或者通过信任链签名。
应用220包括由签名实体签名的APK证书222、应用代码224(安装之前的DEX和安装之后的ODEX或ELF)、用于存储ODEX或ELF校验和的保留空间226、用于存储ODEX或ELF签名以及签名证书的保留空间228、以及包括完整性验证模块232的库230。
签名模块212被配置为验证应用的APK证书222,计算应用的ODEX或ELF校验和,以及在安装应用时对ODEX或ELF校验和进行签名。签名模块212可以在Dalvik虚拟机中或者在优化或OAT编译DEX的单元中实现。任何适当的现有技术验证技术验证APK证书222。签名模块212被配置为将ODEX或ELF校验和以及签名***应用的缓存存储库中的保留空间226、228中。签名模块212还将签名证书216存储在缓存存储库中。
应当理解,可以使用多个校验和,例如针对整个DEX代码的一个校验和以及针对DEX代码的一部分的至少一个另外的校验和。在这种情况下,签名模块212验证所有校验和,生成对应的ODEX或ELF校验和,对所有生成的ODEX或ELF校验和进行签名(有利地使用单个签名),并且将ODEX或ELF校验和以及签名存储在缓存存储库中。
完整性验证模块232包括在APK的本机库中,并且访问扩展的JNI库,其允许在执行期间的任何时间校验ODEX或ELF校验和以及对应签名。完整性验证模块232被配置为当作为应用的一部分被执行时,以任何合适的方式校验签名证书,校验ODEX或ELF校验和的签名,计算ODEX或ELF的当前校验和,并且将计算出的校验和与经签名(和验证)的校验和进行比较。应当理解,如果任何校验失败,则可以采取合适的措施。
图3图示了根据优选实施例的方法的流程图。在步骤S302中,设备110接收应用的APK文件,并且在步骤S304中验证APK证书。在安装应用期间,在步骤S306中设备110优化或OAT编译APK文件中的DEX,并且获得缓存存储库中的ODEX或ELF。在步骤S308中,设备110计算ODEX的至少一个ODEX或ELF校验和,并且在步骤S310中使用签名密钥215对ODEX或ELF校验和进行签名。在步骤S312中,设备110将ODEX或ELF校验和以及签名证书存储在应用的缓存存储库中的保留空间226、228中。然后设备110可以在步骤S314中在任何合适的时间执行ODEX或ELF,并且在执行期间,完整性验证模块232可以通过计算与保留空间226中的经签名的ODEX或ELF校验和进行比较的当前ODEX或ELF校验和来在步骤S316中校验ODEX或ELF的完整性。在执行应用期间可以多次校验完整性。
要注意的是,该解决方案需要对当前部署的安卓***进行轻微修改。
在本描述中,术语“校验和”旨在覆盖实现在生成校验和之后验证所生成的数据是否被修改的值。因此校验和可以例如也是散列值、循环冗余校验(CRC)值或其他种类的摘要;优选的是,从校验和获得代码是计算上不可行的。此外,虽然为了清楚起见使用了单个校验和,但是可以使用多个校验和,其中可以针对代码的不同部分(其中不同部分可以重叠)生成校验和,并且针对代码的不同部分的多个校验和用于生成单个的全局校验和,其用于比较。签名可以是任何合适的加密签名,诸如基于散列的消息认证码(HMAC)或者基于例如RSA、数字签名算法(DSA)或椭圆曲线数字签名算法(ECDSA)的签名。
应当理解,本解决方案可以成功地抵抗根源攻击和远程攻击二者。
尽管已在安卓环境中描述了本解决方案,但是它可以适用于在安装期间修改代码而不实现在运行时对安装的应用进行安全的完整性验证的其他操作***。
因此,应当理解,本公开提供了可以在安卓设备上实现应用的运行时完整性的解决方案。
本描述中公开的每个特征和(在适当的情况下)权利要求和附图可以独立地或以任何适当的组合提供。描述为以硬件实现的特征也可以以软件实现,反之亦然。权利要求中出现的参考标号仅作为说明,并且对权利要求的范围没有限制性影响。

Claims (15)

1.一种用于处理应用的设备(110),所述设备包括:
接口(114),被配置为接收所述应用;
存储器(112),被配置为存储所述应用和经修改的应用的签名的校验和;以及
处理单元(111),被配置为:
-修改所述应用以获得经修改的应用;
-生成经修改的应用的校验和;
-使用签名密钥对经修改的应用的校验和进行签名;以及
-将签名的校验和存储在存储器(112)中。
2.根据权利要求1所述的设备,其中所述应用包括第一校验和,并且其中所述处理单元还被配置为使用第一校验和来验证所述应用的完整性。
3.根据权利要求2所述的设备,其中对第一校验和进行签名,并且其中所述处理单元还被配置为验证第一校验和的签名。
4.根据权利要求1所述的设备,其中所述处理单元还被配置为在执行经修改的应用期间使用签名的校验和来验证经修改的应用的完整性。
5.根据权利要求1所述的设备,其中将所述应用实现为解释代码,并且将经修改的应用实现为优化解释代码。
6.根据权利要求1所述的设备,其中所述设备是智能电话或平板。
7.根据权利要求1所述的设备,其中使用软件保护技术来保护签名密钥。
8.根据权利要求1所述的设备,其中所述处理单元被配置为生成多个校验和,所述多个校验和中的每一个是针对经修改的代码的不同部分而生成的,并且对经修改的代码的所述多个校验和进行签名。
9.根据权利要求8所述的设备,其中所述处理单元被配置为针对经修改的代码的所述多个校验和生成单个签名。
10.根据权利要求1所述的设备,其中所述存储器还被配置为存储经修改的应用和签名密钥的证书,并且其中所述处理器还被配置为将签名密钥的证书存储在存储器中。
11.一种用于处理应用的方法,其包括在设备(110)处:
-接收(S302)所述应用;
-修改(S306)所述应用以获得经修改的应用;
-生成(S308)经修改的应用的校验和;
-使用签名密钥对经修改的应用的校验和进行签名(S310);以及
-将签名的校验和存储(S312)在存储器(112)中的存储器(112)中。
12.根据权利要求11所述的方法,其中所述应用包括第一校验和,并且其中所述方法还包括使用第一校验和来验证所述应用的完整性。
13.根据权利要求12所述的方法,其中对第一校验和进行签名,并且其中所述方法还包括验证第一校验和的签名。
14.根据权利要求11所述的方法,其中所述方法还包括在执行经修改的应用期间使用签名的校验和来验证经修改的应用的完整性。
15.根据权利要求11所述的方法,还包括将经修改的应用和签名密钥的证书存储在存储器中。
CN201580063547.9A 2014-11-28 2015-11-26 用于提供验证应用完整性的方法和设备 Pending CN107003917A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14306919.3 2014-11-28
EP14306919.3A EP3026558A1 (en) 2014-11-28 2014-11-28 Method and device for providing verifying application integrity
PCT/EP2015/077835 WO2016083540A1 (en) 2014-11-28 2015-11-26 Method and device for providing verifying application integrity

Publications (1)

Publication Number Publication Date
CN107003917A true CN107003917A (zh) 2017-08-01

Family

ID=52023430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580063547.9A Pending CN107003917A (zh) 2014-11-28 2015-11-26 用于提供验证应用完整性的方法和设备

Country Status (6)

Country Link
US (1) US20170262656A1 (zh)
EP (2) EP3026558A1 (zh)
JP (1) JP2018503153A (zh)
KR (1) KR20170089859A (zh)
CN (1) CN107003917A (zh)
WO (1) WO2016083540A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052047A (zh) * 2020-08-05 2020-12-08 北京智游网安科技有限公司 一种指令处理方法、终端及存储介质

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101832594B1 (ko) * 2016-02-18 2018-02-26 라인 가부시키가이샤 중간 언어 파일의 로딩 속도 개선을 위한 방법 및 시스템
CN106066686B (zh) * 2016-05-31 2019-02-05 Oppo广东移动通信有限公司 一种信息处理方法及终端设备
US10747883B2 (en) 2017-05-11 2020-08-18 Qualcomm Incorporated Collated multi-image check in system-on-chips
KR101920597B1 (ko) * 2017-11-16 2018-11-21 숭실대학교산학협력단 동적 코드 추출 기반 자동 분석 방지 우회 및 코드 로직 해석 장치
KR101976992B1 (ko) * 2017-11-16 2019-05-10 숭실대학교산학협력단 시그니처 추출을 이용한 분석회피기법 자동 인식 장치 및 그 방법
KR101883997B1 (ko) 2017-11-29 2018-08-02 주식회사 스틸리언 의존 관계형 위변조 무결성 체크를 이용한 암호화 처리장치 및 방법
CN108683502B (zh) * 2018-03-30 2022-01-25 上海连尚网络科技有限公司 一种数字签名验证方法、介质及设备
FR3083343B1 (fr) * 2018-06-29 2023-05-26 Ingenico Group Procede de determination d'une validite d'un code applicatif, dispositif et produit programme d'ordinateur correspondants.
JP7171339B2 (ja) * 2018-09-26 2022-11-15 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
KR102537788B1 (ko) * 2018-11-28 2023-05-30 삼성전자주식회사 서버 및 이를 이용한 어플리케이션의 무결성 판단 방법
RU2708353C1 (ru) * 2018-12-28 2019-12-05 Акционерное общество "Лаборатория Касперского" Система и способ стойкой к атакам проверки ЭЦП файлов
CN109981283B (zh) * 2019-02-28 2022-05-20 西安理工大学 Android平台消息驱动核心代码完整性检测***及方法
JP7335591B2 (ja) * 2019-07-22 2023-08-30 コネクトフリー株式会社 コンピューティングシステムおよび情報処理方法
WO2023001366A1 (en) * 2021-07-20 2023-01-26 Huawei Technologies Co., Ltd. Device and method for protecting code integrity
CN114338050A (zh) * 2022-03-14 2022-04-12 麒麟软件有限公司 一种应用程序接口安全管控方法、***及装置
US11954007B2 (en) 2022-04-20 2024-04-09 International Business Machines Corporation Tracking usage of common libraries by means of digitally signed digests thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1729436A (zh) * 2002-12-24 2006-02-01 英格玛***有限责任公司 用于验证软件应用完整性的方法和设备
US20070150966A1 (en) * 2005-12-22 2007-06-28 Kirschner Wesley A Method and apparatus for maintaining a secure software boundary
US7526811B1 (en) * 2001-05-22 2009-04-28 Novell, Inc. Methods for detecting executable code which has been altered
CN102833296A (zh) * 2011-06-13 2012-12-19 伊姆西公司 用于构建安全的计算环境的方法和设备
US20130061222A1 (en) * 2011-09-07 2013-03-07 Pantech Co., Ltd. Apparatus and method for managing optimized virtualization module
CN103460195A (zh) * 2011-02-11 2013-12-18 西门子医疗保健诊断公司 用于安全软件更新的***和方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1533695B1 (en) * 2003-11-19 2013-08-07 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Updating data in a mobile terminal
JP2006025211A (ja) * 2004-07-08 2006-01-26 Nippon Telegraph & Telephone West Corp ピアツーピア端末装置並びにピアツーピア通信システム、ピアツーピア通信方法、ピアツーピア端末プログラム
JP2009211187A (ja) * 2008-02-29 2009-09-17 Hitachi Ltd 情報処理装置
EP2362314A1 (en) * 2010-02-18 2011-08-31 Thomson Licensing Method and apparatus for verifying the integrity of software code during execution and apparatus for generating such software code
JP5126447B1 (ja) * 2012-08-31 2013-01-23 大日本印刷株式会社 アプリケーションプログラムの実行方法
US9715591B2 (en) * 2012-07-30 2017-07-25 Hewlett-Packard Development Company, L.P. Code validation
JP6261933B2 (ja) * 2012-10-16 2018-01-17 日本放送協会 放送通信連携受信装置及び放送通信連携システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526811B1 (en) * 2001-05-22 2009-04-28 Novell, Inc. Methods for detecting executable code which has been altered
CN1729436A (zh) * 2002-12-24 2006-02-01 英格玛***有限责任公司 用于验证软件应用完整性的方法和设备
US20070150966A1 (en) * 2005-12-22 2007-06-28 Kirschner Wesley A Method and apparatus for maintaining a secure software boundary
CN103460195A (zh) * 2011-02-11 2013-12-18 西门子医疗保健诊断公司 用于安全软件更新的***和方法
CN102833296A (zh) * 2011-06-13 2012-12-19 伊姆西公司 用于构建安全的计算环境的方法和设备
US20130061222A1 (en) * 2011-09-07 2013-03-07 Pantech Co., Ltd. Apparatus and method for managing optimized virtualization module

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052047A (zh) * 2020-08-05 2020-12-08 北京智游网安科技有限公司 一种指令处理方法、终端及存储介质

Also Published As

Publication number Publication date
KR20170089859A (ko) 2017-08-04
EP3224720A1 (en) 2017-10-04
EP3026558A1 (en) 2016-06-01
JP2018503153A (ja) 2018-02-01
US20170262656A1 (en) 2017-09-14
WO2016083540A1 (en) 2016-06-02

Similar Documents

Publication Publication Date Title
CN107003917A (zh) 用于提供验证应用完整性的方法和设备
CN107003916A (zh) 用于提供验证应用完整性的方法和设备
EP3026560A1 (en) Method and device for providing verifying application integrity
CN107003918A (zh) 用于提供验证应用完整性的方法和设备
EP2979221B1 (en) Systems, methods and apparatuses for secure storage of data using a security-enhancing chip
Seshadri et al. SWATT: Software-based attestation for embedded devices
CN104932902B (zh) 一种生成apk文件的方法及终端
US8296579B2 (en) System and method for updating a basic input/output system (BIOS)
KR101190479B1 (ko) 티켓 인증 보안 설치 및 부트
WO2017166561A1 (zh) 一种基于安卓***apk下载方法及其***
CN108363580A (zh) 应用程序安装方法、装置、计算机设备和存储介质
EP3126973A1 (en) Method, apparatus, and computer-readable medium for obfuscating execution of application on virtual machine
CN101226569A (zh) 在虚拟机中验证代码模块的方法及装置
CN104915591A (zh) 一种数据处理方法及电子设备
US10148440B2 (en) Binary code authentication
CN111026419A (zh) 一种单片机的应用程序升级方法、装置及***
KR20170044850A (ko) 안드로이드 어플리케이션 동적 로딩 방법
KR20130053179A (ko) 단말기의 어플리케이션 실행 시스템 및 방법
KR20190118894A (ko) 안전한 usb 장치를 보장하는 부트 방법
JP5798959B2 (ja) パッケージ生成装置、パッケージ生成方法、プログラム
RU2812867C1 (ru) Защита двоичных файлов типовых коммерческих программ от пиратства с использованием аппаратных анклавов
CN115904461A (zh) linux***的补丁升级方法及***、电子设备、存储介质
Al-Galby et al. Hardware Root of Trust for Linux Based Edge Gateway
Weiser et al. Measured Firmware Deployment for Embedded Microcontroller Platforms.
Cryptographic FIPS 140-2 Security Policy for INTEGRITY Security Services High Assurance Embedded Cryptographic Toolkit Module Version 1.0. 5

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
TA01 Transfer of patent application right

Effective date of registration: 20190606

Address after: France

Applicant after: Interactive Digital CE Patent Holding Company

Address before: I Si Eli Murli Nor, France

Applicant before: Thomson Licensing SA

TA01 Transfer of patent application right
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170801

WD01 Invention patent application deemed withdrawn after publication