CN103810421A - 应用程序的校验方法、装置和终端设备 - Google Patents

应用程序的校验方法、装置和终端设备 Download PDF

Info

Publication number
CN103810421A
CN103810421A CN201410056744.5A CN201410056744A CN103810421A CN 103810421 A CN103810421 A CN 103810421A CN 201410056744 A CN201410056744 A CN 201410056744A CN 103810421 A CN103810421 A CN 103810421A
Authority
CN
China
Prior art keywords
application program
signature
page
value
terminal device
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
CN201410056744.5A
Other languages
English (en)
Other versions
CN103810421B (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.)
Beijing Shibo Digital TV Technology Co Ltd
Original Assignee
Beijing Shibo Digital TV Technology 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 Beijing Shibo Digital TV Technology Co Ltd filed Critical Beijing Shibo Digital TV Technology Co Ltd
Priority to CN201410056744.5A priority Critical patent/CN103810421B/zh
Publication of CN103810421A publication Critical patent/CN103810421A/zh
Application granted granted Critical
Publication of CN103810421B publication Critical patent/CN103810421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种应用程序的校验方法、装置和终端设备,其中,所述应用程序的校验方法包括:终端设备的操作系统在加载应用程序时,获取应用程序中的校验数据,所述校验数据包括摘要表和签名值,对所述签名值进行签名校验,通过所述签名校验后,继续加载所述应用程序,当运行所述应用程序的过程中内存触发缺页中断时,按页加载所述应用程序中与缺页地址对应的数据,并从摘要表中查询所述缺页地址对应的页摘要值、以及采用对应的页摘要值对所述缺页地址对应的数据进行摘要校验。因此,本发明保证了运行应用程序的安全性,还利用缺页中断机制实现了只有在应用程序的相应数据真正载入内存时才进行校验的“懒模式”,提高了应用程序的运行效率。

Description

应用程序的校验方法、装置和终端设备
技术领域
本发明涉及通信技术,尤其涉及一种应用程序的校验方法、装置和终端设备。
背景技术
随着通信技术的不断发展,嵌入式的终端设备的应用领域越来越广。为了保证终端设备的安全,需要对终端设备上即将运行的各个应用程序进行校验,当某个应用程序通过校验后,才可以运行该应用程序。
其中,很多终端设备上的操作系统采用的是Linux系统,该Linux系统是一种自由和开放源码的类Unix操作系统,其使用了Linux内核,并广泛应用于机顶盒、手机、平板电脑等终端设备中。另外,可执行链接格式(Executable andLinkable Format,ELF)文件是Linux上应用最为广泛的可执行程序格式。该ELF文件由如下几部分组成:ELF头表、节区头表、段头表,以及若干节区和段。
现有技术中,当终端设备上Linux内核加载ELF文件时,不会把ELF文件的全部内容一次加载到内存,而是将进程空间与ELF文件中可加载段做映射。在进程运行的过程中,如果所访问到的内存没有所需要的内容时,终端设备的操作系统则会发生缺页中断,以页为单位将需要的内容读入内存。
但是,上述终端设备上Linux内核加载ELF文件时,没有针对ELF文件的合法性进行校验,这样可能造成的后果是终端设备被注入了被攻击或者包含恶意功能的应用程序,一旦运行将会造成对终端设备的损害。
发明内容
有鉴于此,本发明实施例的目的在于提出一种应用程序的校验方法、装置和终端设备,能够保证在终端设备上所运行的应用程序的安全性,以及能够提高应用程序的运行效率。
第一方面,本发明实施例提供了一种应用程序的校验方法,所述方法包括:
终端设备的操作系统在加载应用程序时,获取所述应用程序中的校验数据,所述校验数据包括摘要表和签名值;
终端设备的操作系统对所述签名值进行签名校验,通过所述签名校验后,继续加载所述应用程序;
当运行所述应用程序的过程中内存触发缺页中断时,终端设备的操作系统按页加载所述应用程序中与缺页地址对应的数据,并从所述摘要表中查询所述缺页地址对应的页摘要值、以及采用对应的页摘要值对所述缺页地址对应的数据进行摘要校验。
第二方面,本发明实施例提供了一种应用程序的校验装置,所述装置包括:
获取单元,用于在加载应用程序时,获取所述应用程序中的校验数据,所述校验数据包括摘要表和签名值;
签名校验单元,用于对所述签名值进行签名校验,通过所述签名校验后,继续加载所述应用程序;
摘要校验单元,用于当运行所述应用程序的过程中内存触发缺页中断时,按页加载所述应用程序中与缺页地址对应的数据,并从所述摘要表中查询所述缺页地址对应的页摘要值、以及采用对应的页摘要值对所述缺页地址对应的数据进行摘要校验。
第三方面,本发明实施例提供了一种终端设备,所述终端设备包括:本发明所有实施例提供的应用程序的校验装置。
本发明实施例提供的应用程序的校验方法、装置和终端设备,通过在加载应用程序时,获取应用程序中的校验数据,对所述应用程序中的校验数据进行签名校验,当通过所述签名校验后,继续加载所述应用程序,当运行所述应用程序的过程中内存触发缺页中断时,按页加载所述应用程序中与缺页地址对应的数据,并从所述摘要表中查询所述缺页地址对应的页摘要值、以及采用对应的页摘要值对所述缺页地址对应的数据进行摘要校验,从而保证了所运行的应用程序的安全性,能够防止应用程序被篡改,并利用缺页中断机制只对缺页地址对应的数据进行摘要校验,实现了只有在应用程序的相应数据真正载入内存时才进行校验的“懒模式”,提高了应用程序的运行效率。
附图说明
图1是本发明第一实施例提供的应用程序的校验方法的流程图;
图2是本发明第二实施例提供的应用程序的校验方法的流程图;
图3是本发明第三实施例提供的对应用程序进行签名的方法流程图;
图4是本发明第三实施例提供的对应用程序进行签名前后的文件示意图;
图5是本发明第四实施例提供的应用程序的校验装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
图1是本发明第一实施例提供的应用程序的校验方法的流程图,该应用程序的校验方法可以应用于终端设备中。其中,该终端设备可以为机顶盒、智能手机、导航仪等。如图1所示,所述方法包括:
步骤110、终端设备的操作系统在加载应用程序时,获取应用程序中的校验数据,所述校验数据包括摘要表和签名值。
具体地,为了保证终端设备运行应用程序的安全性,在加载该应用程序时,需要先获取应用程序中的校验数据,并将该检验数据保存在内核运行空间中,根据该校验数据进行校验。另外,应用程序中的校验数据还可以保存在应用程序的校验数据包,并从该校验数据包该中获取校验数据。
步骤120、终端设备的操作系统对签名值进行签名校验,通过所述签名校验后,继续加载所述应用程序。
具体地,该校验数据中包括用于签名校验的数据即签名值,对该用于签名校验的数据进行签名校验,只有通过签名校验后才可以继续加载并运行应用程序,否则,停止加载该应用程序。其中,加载应用程序时,不会将应用程序的全部数据一次加载到内存,而是将进程空间与应用程序中的可加载段做映射,等到完成进程空间与应用程序的映射后,开始运行应用程序。
步骤130、当运行应用程序的过程中内存触发缺页中断时,终端设备的操作系统按页加载所述应用程序中与缺页地址对应的数据,并从所述摘要表中查询所述缺页地址对应的页摘要值、以及采用对应的页摘要值对所述缺页地址对应的数据进行摘要校验。
具体地,应用程序开始运行后,当应用程序需要访问进程空间某个地址时,操作系统先判断该地址所属页的内容是否已经在内存中,如果存在,则直接访问;如果不存在,则发生缺页中断来载入缺页地址对应的数据,然后对该缺页地址对应的数据进行摘要校验,只有通过摘要校验,才可以继续运行应用程序,否则,停止运行应用程序。
因此,在本发明实施例中,通过获取应用程序中的校验数据,根据该校验数据进行签名校验和摘要校验,从而保证了运行应用程序的安全性,还利用缺页中断机制实现了只有在应用程序的相应数据真正载入内存时才进行校验的“懒模式”,提高了应用程序的运行效率。
图2是本发明第二实施例提供的应用程序的校验方法的流程图。该应用程序的校验方法中涉及到的应用程序可以为ELF文件,该ELF文件包括ELF源文件和校验数据块。另外,该应用程序的校验方法可以应用于终端设备中。其中,该终端设备可以为机顶盒、智能手机、导航仪等。如图2所示,所述方法包括:
步骤210、终端设备的操作系统在加载应用程序时,从应用程序的尾部读取校验数据块。
步骤220、终端设备的操作系统从校验数据块中读取至少一个摘要包,并从所述摘要包中获取摘要表,以及所述摘要表对应的段地址、段长度,所述摘要表包括所述段长度内的所有页摘要值。
步骤230、终端设备的操作系统从校验数据块的尾部读取签名包,并从所述签名包中获取签名值,所述签名值是对所述摘要包、应用程序头和段头表进行签名操作所得到的值。
上述方案中,应用程序中的校验数据块位于应用程序的尾部,并包括签名包和摘要包,可以从签名包中获取签名值,以及从摘要包中获取摘要表,所述摘要表和签名值为校验数据。其中,该摘要表中至少包括一个页摘要值,由于将校验数据块位于应用程序的尾部,这样可以实现对校验数据块的快速定位。当然,也可以将应用程序中的校验数据块位于应用程序的其他位置,并从该位置提取签名值和摘要表中的页摘要值。
其中,签名值是用于进行签名校验的数据,而页摘要值是用于进行摘要校验的数据。该页摘要值的数量是由应用程序中的可加载段的内容大小所决定的。比如,以页为单位,一般一页为4KB大小,如果应用程序中的一个可加载段的内容大小有10页,则对应的页摘要值有10个。
步骤240、终端设备的操作系统从内核读取已预置的签名非对称公钥,采用所述签名非对称公钥对采用签名非对称私钥加密的签名值进行签名校验,通过签名校验后,继续加载所述应用程序。其中,签名非对称公钥可以是预埋在操作系统内部的签名非对称公钥。
具体地,应用程序发布端对应用程序签名时,采用签名非对称私钥加密得到签名值;终端设备的操作系统对签名值进行签名校验时,采用签名非对称公钥进行签名校验。其中,签名非对称私钥和签名非对称公钥,是应用程序发布端和终端设备的操作系统预先约定的一对秘钥对,这样可以提高签名校验的可靠性。
另外,只有通过签名校验后才可以加载并运行应用程序,否则,停止运行该应用程序。其中,加载应用程序时,不会将应用程序的全部数据一次加载到内存,而是将进程空间与应用程序中的可加载段做映射,等到完成进程空间与应用程序的映射后,才开始运行应用程序。
步骤250、当运行应用程序的过程中内存触发缺页中断时,终端设备的操作系统按页加载所述应用程序中与缺页地址对应的数据,并从所述摘要表中查询所述缺页地址对应的页摘要值、以及采用对应的页摘要值对所述缺页地址对应的数据进行摘要校验。
因此,在本发明实施例中,通过从ELF文件的提取签名值和页摘要值,根据签名值和页摘要值分别进行签名校验和摘要校验,从而保证了运行应用程序的安全性,还利用缺页中断机制实现了只有在应用程序的相应数据真正载入内存时才进行校验的“懒模式”,提高了应用程序的运行效率。
在上述实施例一和实施例二所述的方案中,还包括以下过程:
终端设备的操作系统读取应用程序中的校验数据,并加载到内存中。
以及,则在应用程序退出时,终端设备的操作系统释放所述校验数据占用的内存。
在本发明实施例中,当终端设备的操作系统对应用程序进行校验时,会将校验数据加载到内存中,并在应用程序退出时,释放加载到内存的校验数据,这样提高了校验的响应速度,并不影响实际运行速度。
图3是本发明第三实施例提供的对应用程序进行签名的方法流程图。该对应用程序进行签名可以应用于应用程序发布端中,主要是对待发布的应用程序进行签名,得到该应用程序的校验数据块,并将携带有检验数据块的应用程序向终端设备进行发布。如图3所示,所述方法包括:
步骤310、应用程序发布端对应用程序的ELF源文件进行解析,获得属性为可加载的至少一个段。
具体地,在应用程序发布前,由应用程序发布端,比如:操作系统提供商,对应用程序的安全性和合规性进行审查,然后使用应用签名工具对应用进行签名操作。如图4所示,签名以前的文件称为ELF源文件41,签名以后的文件称为ELF文件42。应用程序发布端对ELF源文件41进行解析,获得属性为可加载的段1、段2等。
其中,ELF源文件是Linux上应用程序最为广泛的可执行程序格式。该ELF源文件具体包括:ELF头表、节区头表、段头表,以及若干节区(Section)和段(Segment)。其中,ELF头用来描述ELF文件的基本信息,节区头表描述节区基本信息和各个节区在文件中的偏移位置,段头表描述段基本信息和各个段在文件中的偏移位置。节区和段是对ELF文件中代码和数据不同视角的描述,节区描述了程序和数据在链接时结构,而段描述了代码和数据在加载时的结构。
当终端设备的操作系统在加载应用程序时需要用到ELF头表、段头表以及属性为“可加载”的段。因此,在对该应用程序进行签名时,以页为单位(一般每页为4KB大小)对属性为“可加载”(PT_LOAD)的段计算页摘要值。
步骤320、应用程序发布端对属性为可加载的段进行分页,并计算每页的页摘要值,将各页摘要值组成摘要表、将所述摘要表、以及所述摘要表对应的段地址、段长度添加到摘要包中。其中,分页的标准是以页为单位(一般为4KB大小)。
具体地,在对该应用程序进行签名时,以页为单位对属性为“可加载”(PT_LOAD)的段计算页摘要值,并将该段的所有页摘要值组成摘要表,并添加到与该段对应的摘要包中。比如,图4中,段1包括页1、页2、页3等,计算每页的页摘要值,并将段1的所有页摘要值组成摘要表,并添加到摘要包1中;同时,段2也包括页1、页2、页3等,计算每页的页摘要值,并将段2的所有页摘要值组成摘要表,并添加到摘要包2中。
步骤330、应用程序发布端使用已预置的签名非对称私钥对摘要包、ELF源文件的ELF头表、以及ELF源文件的段头表进行签名,得到签名值,并将所述签名值添加到签名包中。
具体地,将计算得到摘要表,再附上ELF源文件的ELF头和段头表,使用签名非对称私钥进行签名,得到签名值。
步骤340、应用程序发布端将摘要包和签名包组成校验数据块,并保存在ELF源文件的尾部。
具体地,应用程序发布端将摘要包和签名包组成校验数据块,并保存在ELF源文件的尾部,得到携带有校验数据块的ELF文件42,其中,摘要包中的页摘要值和签名包中的签名值为校验数据。
上述校验数据块可以被保存在ELF文件的尾部,如图4所示。当然,也可以被保存在ELF源文件的其他位置,但是,一般情况下是保存在其尾部,这样可以快速定位校验数据块,而不影响ELF源文件的内容排布。
其中,ELF文件的校验数据为自定义数据,并将计算得到的自定义数据附加在ELF文件后,形成自定义数据块。该自定义数据块直接与ELF文件的源文件合并在一起,并且该自定义数据块通过“魔数”(Magic)来标记,魔数的值为:0x4E535456(大写字母NSTV的ASCII码值);魔数之后有4字节的自定义数据块长度,标记自定义数据块有效负载长度,如表1所示。
表1
Figure BDA0000467447640000091
上述自定义数据块也称为校验数据块,该自定义数据块由一个个校验数据包(packet)组成,每个数据包包含一个包头和紧随其后的包数据。目前,自定义数据块中主要有两种包:摘要包和签名包。该摘要包可以记录ELF源文件中每一个类型为PT_LOAD的段的按页摘要信息。这些信息包括段的起始虚拟地址,段在ELF源文件中的大小以及段在内存中的按页摘要值。签名包可以记录对ELF头、段头表以及属性为可加载(PT_LOAD)的段(Segment)这三块数据的签名。
每个数据包的包头包含一个“标签”,以及一个长度。其中,包头表明该包的类型,长度表明其后的数据长度。该包头格式如下,如表2。
表2
说明
包类型 描述数据包的类型
包长度 描述包有效数据的长度
每个摘要包记录ELF文件中每一个类型为PT_LOAD的段的按页摘要信息。这些信息包括段的起始虚拟地址,段在ELF文件中的大小以及段在内存中的按页摘要值。这些信息的数据组成,可以看做是一个结构数组,数组项是一个结构,其中包含有:段的起始虚拟地址,段在文件中的大小以及段在内存中的按页摘要值。该摘要包数据中包含以下内容,如表3所示。
表3
说明
段地址 对应段的虚拟起始地址
段长度 对应段的文件大小
段摘要 页摘要值
每个签名包是对ELF头,程序头表以及校验数据块中在签名之前的有效载荷数据即若干个摘要包这三块数据的签名。该签名包数据中包含以下内容,如表4所示
表4
Figure BDA0000467447640000111
步骤350、应用程序发布端将应用程序向终端设备发布。
在本发明实施例中,提供了一种新的校验数据块的数据结构,将校验数据块放置在ELF源文件的尾部,这样可以配合ELF源文件的原有的文件格式,并且校验数据块中包括签名包和摘要包,而且摘要包中的页摘要值是在对应用程序签名之前产生。
图5是本发明第四实施例提供的应用程序的校验装置的结构示意图。该前应用程序的校验装置可以用于执行上述实施例中的应用程序的校验方法。如图5所示,所述应用程序的校验装置50包括:获取单元51、签名校验单元52和摘要校验单元53。
获取单元51用于在加载应用程序时,获取应用程序中的校验数据,所述校验数据包括摘要表和签名值。
签名校验单元52用于对签名值进行签名校验,通过所述签名校验后,继续加载所述应用程序。
摘要校验单元53用于当运行所述应用程序的过程中内存触发缺页中断时,按页加载所述应用程序中与缺页地址对应的数据,并从所述摘要表中查询所述缺页地址对应的页摘要值、以及采用对应的页摘要值对所述缺页地址对应的数据进行摘要校验。
在一个实施例中,所述获取单元51具体用于从所述校验数据块中读取至少一个摘要包,并从所述摘要包中获取摘要表,以及所述摘要表对应的段地址、段长度,所述摘要表包括所述段长度内的所有页摘要值;以及,从所述校验数据块的尾部读取签名包,并从所述签名包中获取签名值,所述签名值是对所述摘要包、应用程序头和段头表进行签名操作所得到的值。
另一个实施例中,所述签名校验单元52具体用于从内核读取已预置的签名非对称公钥,采用所述签名非对称公钥对采用签名非对称私钥加密的签名值进行签名校验。
因此,本发明实施例提供的应用程序的校验装置,通过获取应用程序中的校验数据,根据该校验数据进行签名校验和摘要校验,从而保证了运行应用程序的安全性,还利用缺页中断机制实现了只有在应用程序的相应数据真正载入内存时才进行校验的“懒模式”,提高了应用程序的运行效率。
本发明实施例还提供了一种终端设备,其包括以上实施例中提供的应用程序的校验装置。
显然,本领域技术人员应该明白,上述的本发明的各模块或各步骤可以通过如上所述的通信终端设备实施。可选地,本发明实施例可以用计算机装置可执行的程序来实现,从而可以将它们存储在存储装置中由处理器来执行,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等;或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种应用程序的校验方法,其特征在于,所述方法包括:
终端设备的操作系统在加载应用程序时,获取所述应用程序中的校验数据,所述校验数据包括摘要表和签名值;
终端设备的操作系统对所述签名值进行签名校验,通过所述签名校验后,继续加载所述应用程序;
当运行所述应用程序的过程中内存触发缺页中断时,终端设备的操作系统按页加载所述应用程序中与缺页地址对应的数据,并从所述摘要表中查询所述缺页地址对应的页摘要值、以及采用对应的页摘要值对所述缺页地址对应的数据进行摘要校验。
2.根据权利要求1所述的应用程序的校验方法,其特征在于,所述获取所诉应用程序中的校验数据具体包括:
终端设备的操作系统从应用程序的尾部读取校验数据块;从所述校验数据块中读取至少一个摘要包,并从所述摘要包中获取摘要表,以及所述摘要表对应的段地址、段长度,所述摘要表包括所述段长度内的所有页摘要值;
从所述校验数据块的尾部读取签名包,并从所述签名包中获取签名值,所述签名值是对所述摘要包、应用程序头和段头表进行签名操作所得到的值。
3.根据权利要求2所述的应用程序的校验方法,其特征在于,所述应用程序为可执行链接格式ELF文件,所述ELF文件包括ELF源文件和校验数据块。
4.根据权利要求1所述的应用程序的校验方法,其特征在于,所述对所述签名值进行签名校验具体包括:
终端设备的操作系统从内核读取已预置的签名非对称公钥,采用所述签名非对称公钥对采用签名非对称私钥加密的签名值进行签名校验。
5.根据权利要求1所述的应用程序的校验方法,其特征在于:
终端设备的操作系统获取应用程序中的校验数据具体包括:终端设备的操作系统读取应用程序中的校验数据,并加载到内存中;
则在所述应用程序退出时,终端设备的操作系统释放所述校验数据占用的内存。
6.根据权利要求1-4任一所述的应用程序的校验方法,其特征在于,所述应用程序采用ELF文件,所述方法还包括:
应用程序发布端对所述应用程序的ELF源文件进行解析,获得属性为可加载的至少一个段;
应用程序发布端对所述属性为可加载的段进行分页,并计算每页的页摘要值,将各页摘要值组成摘要表、将所述摘要表、以及所述摘要表对应的段地址、段长度添加到摘要包中;
应用程序发布端使用已预置的签名非对称私钥对所述摘要包、所述ELF源文件的ELF头表、以及所述ELF源文件的段头表进行签名,得到签名值,并将所述签名值添加到签名包中;
应用程序发布端将所述摘要包和所述签名包组成校验数据块,并保存在所述应用程序的尾部;
应用程序发布端将所述应用程序向终端设备发布。
7.一种应用程序的校验装置,其特征在于,所述装置包括:
获取单元,用于在加载应用程序时,获取所述应用程序中的校验数据,所述校验数据包括摘要表和签名值;
签名校验单元,用于对所述签名值进行签名校验,通过所述签名校验后,继续加载所述应用程序;
摘要校验单元,用于当运行所述应用程序的过程中内存触发缺页中断时,按页加载所述应用程序中与缺页地址对应的数据,并从所述摘要表中查询所述缺页地址对应的页摘要值、以及采用对应的页摘要值对所述缺页地址对应的数据进行摘要校验。
8.根据权利要求7所述的应用程序的校验装置,其特征在于,所述获取单元还具体用于从所述校验数据块中读取至少一个摘要包,并从所述摘要包中获取摘要表,以及所述摘要表对应的段地址、段长度,所述摘要表包括所述段长度内的所有页摘要值;以及,从所述校验数据块的尾部读取签名包,并从所述签名包中获取签名值,所述签名值是对所述摘要包、应用程序头和段头表进行签名操作所得到的值。
9.根据权利要求7所述的应用程序的校验装置,其特征在于,所述签名校验单元具体用于从内核读取已预置的签名非对称公钥,采用所述签名非对称公钥对采用签名非对称私钥加密的签名值进行签名校验。
10.一种终端设备,其特征在于,所述终端设备包括:权利要求7-9任一所述的应用程序的校验装置。
CN201410056744.5A 2014-02-19 2014-02-19 应用程序的校验方法、装置和终端设备 Active CN103810421B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410056744.5A CN103810421B (zh) 2014-02-19 2014-02-19 应用程序的校验方法、装置和终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410056744.5A CN103810421B (zh) 2014-02-19 2014-02-19 应用程序的校验方法、装置和终端设备

Publications (2)

Publication Number Publication Date
CN103810421A true CN103810421A (zh) 2014-05-21
CN103810421B CN103810421B (zh) 2017-01-04

Family

ID=50707177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410056744.5A Active CN103810421B (zh) 2014-02-19 2014-02-19 应用程序的校验方法、装置和终端设备

Country Status (1)

Country Link
CN (1) CN103810421B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462965A (zh) * 2014-11-14 2015-03-25 华为技术有限公司 应用程序完整性验证方法及网络设备
CN107247579A (zh) * 2016-08-19 2017-10-13 北京金山安全管理系统技术有限公司 一种elf文件映像基地址的计算方法及装置
CN107273742A (zh) * 2017-06-09 2017-10-20 广州涉川科技有限公司 一种安卓应用的授权安装方法、扫码支付终端、服务器及系统
WO2018000886A1 (zh) * 2016-07-01 2018-01-04 广州爱九游信息技术有限公司 应用程序通信处理系统、装置、方法及客户端、服务端
CN108039945A (zh) * 2017-12-11 2018-05-15 北京奇虎科技有限公司 一种补丁包的签名方法、校验方法及装置
CN108052842A (zh) * 2017-12-12 2018-05-18 万兴科技股份有限公司 签名数据的存储、验证方法及装置
CN108292341A (zh) * 2015-11-19 2018-07-17 纳格拉影像股份有限公司 用于核查目标装置中的应用的执行完整性的方法
CN108319575A (zh) * 2018-01-30 2018-07-24 百度在线网络技术(北京)有限公司 一种页面组件的校验方法、装置、服务器和存储介质
CN108460293A (zh) * 2017-02-22 2018-08-28 北京大学 一种应用程序完整性多级检查机制
WO2020037612A1 (zh) * 2018-08-23 2020-02-27 深圳市汇顶科技股份有限公司 嵌入式程序的安全引导方法、装置、设备及存储介质
CN111368288A (zh) * 2018-12-26 2020-07-03 创发信息科技(苏州)有限公司 嵌入式系统程序信任执行方法
CN113468485A (zh) * 2021-07-05 2021-10-01 桂林电子科技大学 基于Linux操作系统的数字签名和证书验证的程序保护方法
CN116701238A (zh) * 2022-09-14 2023-09-05 荣耀终端有限公司 一种驱动文件处理方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101551843A (zh) * 2009-05-06 2009-10-07 深圳市融创天下科技发展有限公司 一种移动通信装置应用软件包的签名方法
CN101923476A (zh) * 2009-06-12 2010-12-22 鸿富锦精密工业(深圳)有限公司 文件安装系统及文件安装方法
CN102663292A (zh) * 2012-03-26 2012-09-12 大唐微电子技术有限公司 一种实现智能卡应用部署的方法及系统
CN103530554A (zh) * 2013-10-29 2014-01-22 银联商务有限公司 一种驱动包安装方法、生成方法、支付装置及驱动服务器
CN103577206A (zh) * 2012-07-27 2014-02-12 北京三星通信技术研究有限公司 一种应用软件的安装方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101551843A (zh) * 2009-05-06 2009-10-07 深圳市融创天下科技发展有限公司 一种移动通信装置应用软件包的签名方法
CN101923476A (zh) * 2009-06-12 2010-12-22 鸿富锦精密工业(深圳)有限公司 文件安装系统及文件安装方法
CN102663292A (zh) * 2012-03-26 2012-09-12 大唐微电子技术有限公司 一种实现智能卡应用部署的方法及系统
CN103577206A (zh) * 2012-07-27 2014-02-12 北京三星通信技术研究有限公司 一种应用软件的安装方法和装置
CN103530554A (zh) * 2013-10-29 2014-01-22 银联商务有限公司 一种驱动包安装方法、生成方法、支付装置及驱动服务器

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10846393B2 (en) 2014-11-14 2020-11-24 Huawei Technologies Co., Ltd. Application program integrity verification method and network device
CN104462965B (zh) * 2014-11-14 2018-03-13 华为技术有限公司 应用程序完整性验证方法及网络设备
CN104462965A (zh) * 2014-11-14 2015-03-25 华为技术有限公司 应用程序完整性验证方法及网络设备
CN108292341B (zh) * 2015-11-19 2022-03-29 纳格拉影像股份有限公司 用于核查目标装置中的应用的执行完整性的方法
CN108292341A (zh) * 2015-11-19 2018-07-17 纳格拉影像股份有限公司 用于核查目标装置中的应用的执行完整性的方法
WO2018000886A1 (zh) * 2016-07-01 2018-01-04 广州爱九游信息技术有限公司 应用程序通信处理系统、装置、方法及客户端、服务端
CN107247579A (zh) * 2016-08-19 2017-10-13 北京金山安全管理系统技术有限公司 一种elf文件映像基地址的计算方法及装置
CN107247579B (zh) * 2016-08-19 2020-09-11 北京金山安全管理系统技术有限公司 一种elf文件映像基地址的计算方法及装置
CN108460293A (zh) * 2017-02-22 2018-08-28 北京大学 一种应用程序完整性多级检查机制
CN107273742A (zh) * 2017-06-09 2017-10-20 广州涉川科技有限公司 一种安卓应用的授权安装方法、扫码支付终端、服务器及系统
CN108039945A (zh) * 2017-12-11 2018-05-15 北京奇虎科技有限公司 一种补丁包的签名方法、校验方法及装置
CN108052842A (zh) * 2017-12-12 2018-05-18 万兴科技股份有限公司 签名数据的存储、验证方法及装置
CN108052842B (zh) * 2017-12-12 2021-09-03 万兴科技股份有限公司 签名数据的存储、验证方法及装置
CN108319575B (zh) * 2018-01-30 2021-06-29 百度在线网络技术(北京)有限公司 一种页面组件的校验方法、装置、服务器和存储介质
CN108319575A (zh) * 2018-01-30 2018-07-24 百度在线网络技术(北京)有限公司 一种页面组件的校验方法、装置、服务器和存储介质
CN111095213A (zh) * 2018-08-23 2020-05-01 深圳市汇顶科技股份有限公司 嵌入式程序的安全引导方法、装置、设备及存储介质
WO2020037612A1 (zh) * 2018-08-23 2020-02-27 深圳市汇顶科技股份有限公司 嵌入式程序的安全引导方法、装置、设备及存储介质
US11562075B2 (en) 2018-08-23 2023-01-24 Shenzhen GOODIX Technology Co., Ltd. Secure booting method, apparatus, device for embedded program, and storage medium
CN111095213B (zh) * 2018-08-23 2024-04-30 深圳市汇顶科技股份有限公司 嵌入式程序的安全引导方法、装置、设备及存储介质
CN111368288A (zh) * 2018-12-26 2020-07-03 创发信息科技(苏州)有限公司 嵌入式系统程序信任执行方法
CN113468485A (zh) * 2021-07-05 2021-10-01 桂林电子科技大学 基于Linux操作系统的数字签名和证书验证的程序保护方法
CN116701238A (zh) * 2022-09-14 2023-09-05 荣耀终端有限公司 一种驱动文件处理方法及相关装置

Also Published As

Publication number Publication date
CN103810421B (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN103810421A (zh) 应用程序的校验方法、装置和终端设备
CN107194242A (zh) 固件升级方法和装置
CN103093150B (zh) 一种基于可信芯片的动态完整性保护方法
CN103646044A (zh) 移动终端鉴别方法及装置
KR101434860B1 (ko) 해시를 이용한 동적코드의 무결성 검증 방법
CN105608393B (zh) 一种基于Android可执行文件重组的加固方法
CN106971098A (zh) 一种防重打包的方法及其装置
CN103777971A (zh) 电子装置、更新固件的方法与电脑可读取记录媒体
WO2012093625A1 (ja) Webページ改竄検知装置及び記憶媒体
WO2020093809A1 (zh) 一种区块链数据读取方法及装置
CN106940651A (zh) Pos终端软件升级方法和装置
CN106843939A (zh) 应用的渠道包的生成方法及装置
CN103365766B (zh) 一种文件完整性保护的方法和系统
JP2015036847A (ja) 半導体装置
CN107301343A (zh) 安全数据处理方法、装置及电子设备
JP5466645B2 (ja) 記憶装置、情報処理装置およびプログラム
CN110334028A (zh) 一种安卓模拟器检测方法、计算机设备及存储介质
CN103177199A (zh) 网页应用代码保护方法及系统和执行的提速方法及系统
CN106294317A (zh) 一种云平台界面的表单信息校验方法及系统
CN106776105B (zh) 一种系统启动文件的校验及编译方法
CN104216911A (zh) 一种浏览跟踪方法及装置
CN102740279B (zh) 一种无线网络接入终端及其运行方法
CN108415722A (zh) 渠道应用的更新方法、装置、计算机设备和存储介质
CN107526608A (zh) 一种ota升级包升级方法及设备
US20150378609A1 (en) Method for initializing nand flash

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