CN110233734A - 签名校验方法及相关产品 - Google Patents

签名校验方法及相关产品 Download PDF

Info

Publication number
CN110233734A
CN110233734A CN201910512353.2A CN201910512353A CN110233734A CN 110233734 A CN110233734 A CN 110233734A CN 201910512353 A CN201910512353 A CN 201910512353A CN 110233734 A CN110233734 A CN 110233734A
Authority
CN
China
Prior art keywords
tcg
library
white list
cdsp
signature
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
CN201910512353.2A
Other languages
English (en)
Other versions
CN110233734B (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201910512353.2A priority Critical patent/CN110233734B/zh
Publication of CN110233734A publication Critical patent/CN110233734A/zh
Application granted granted Critical
Publication of CN110233734B publication Critical patent/CN110233734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例公开了一种签名校验方法及相关产品,应用于电子设备,电子设备包括计算数字信号处理器cDSP,通过在cDSP接收目标应用发送的so库,so库包括so库的受信任代码组织TCG签名,cDSP加载TCG扩展白名单,并根据TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单,cDSP根据目标TCG白名单对so库的TCG签名进行校验,若校验通过,运行所述so库,如此,根据TCG扩展白名单更新TCG白名单,并根据更新后的目标TCG白名单进行签名校验,使得TCG签名校验更加智能。

Description

签名校验方法及相关产品
技术领域
本申请涉及通信技术领域,具体涉及一种签名校验方法及相关产品。
背景技术
计算数字信号处理器(Compute Digital Signal Processor,cDSP)是高性能计算的硬件加速器,cDSP的快速发展以及计算力的快速提升,使得很多人工智能(ArtificialIntelligence,AI)算法在电子设备中实现。但是cDSP是高通的闭源模块,电子设备中的应用APP要想使用cDSP进行计算加速,需要经过cDSP的签名校验。
发明内容
本申请实施例提供了一种签名校验方法及相关产品,可根据TCG扩展白名单更新TCG白名单,并根据更新后的目标TCG白名单进行签名校验,使得TCG签名校验更加智能。
第一方面,本申请实施例提供了一种签名校验方法,应用于电子设备,所述电子设备包括计算数字信号处理器cDSP,所述方法包括:
所述cDSP接收目标应用发送的so库,所述so库包括所述so库的受信任代码组织TCG签名;
所述cDSP加载TCG扩展白名单,并根据所述TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单;
所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验,若校验通过,运行所述so库。
第二方面,本申请实施例提供了一种签名校验装置,应用于电子设备,所述电子设备包括计算数字信号处理器cDSP,所述签名校验装置包括:
接收单元,用于通过所述cDSP接收目标应用发送的so库,所述so库包括所述so库的受信任代码组织TCG签名;
更新单元,同于加载TCG扩展白名单,并根据所述TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单;
校验单元,用于根据所述目标TCG白名单对所述so库的TCG签名进行校验,若校验通过,运行所述so库。
第三方面,本申请实施例提供了一种电子设备,包括:计算数字信号处理器cDSP、存储器和通信接口;以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置成由所述cDSP执行,所述程序包括用于如本申请实施例第一方面中所描述的部分或全部步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,所述计算机可读存储介质用于存储计算机程序,其中,所述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤的指令。
第五方面,本申请实施例提供了一种计算机程序产品,其中,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
实施本申请实施例,具有如下有益效果:
可以看出,本申请实施例中所描述的签名校验方法及相关产品,应用于电子设备,电子设备包括计算数字信号处理器cDSP,通过在cDSP接收目标应用发送的so库,so库包括so库的受信任代码组织TCG签名,cDSP加载TCG扩展白名单,并根据TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单,cDSP根据目标TCG白名单对so库的TCG签名进行校验,若校验通过,运行所述so库,如此,根据TCG扩展白名单更新TCG白名单,并根据更新后的目标TCG白名单进行签名校验,使得TCG签名校验更加智能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种电子设备的结构示意图;
图1B是本申请实施例提供的一种签名校验方法的流程示意图;
图1C是本申请实施例提供的一种签名校验方法的流程示意图;
图2是本申请实施例提供的另一种签名校验方法的流程示意图;
图3是本申请实施例提供的另一种签名校验方法的流程示意图;
图4是本申请实施例提供的另一种电子设备的结构示意图;
图5A是本申请实施例提供的一种签名校验装置的结构示意图;
图5B是本申请实施例提供的图5A所示的签名校验装置的变型结构;
图5C是本申请实施例提供的图5B所示的签名校验装置的变型结构;
图6是本申请实施例提供的电子设备的另一种结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及到的电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(user equipment,UE),移动台(mobile station,MS),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为电子设备。
下面对本申请实施例进行详细介绍。
请参阅图1A,图1A是本申请实施例提供的一种电子设备100的结构示意图,上述电子设备100包括:壳体110、设置于所述壳体110内的电路板120,所述电路板120上设置有计算数字信号处理器cDSP121和存储器122。
其中,计算数字信号处理器(Compute Digital Signal Processor,cDSP)是高性能计算的硬件加速器,电子设备中的应用APP要想使用cDSP进行计算加速,须要经过cDSP的签名校验。
目前,下面对现有的电子设备进行签名校验的三种方式做简单介绍。
第一种,测试签名校验方式,在关闭安全启动Security Boot的电子设备上,可以获取电子设备的序列号,在Hexagon SDK环境下,可运行电子设备中目标应用的so库,目标应用是电子设备中安装的应用。
第一种方式存在的缺陷:这种方式只可以用于开发调试阶段,因为其需要关闭Security Boot,当Security Boot的设置状态开启时,不能适用此种方式,所以这种方案只适合开发调试,无法在正式版本中使用,也无法做大规模的测试。
第二种,针对so库中的哈希值的签名校验方式,将so库中的哈希值编译至安卓系统,so库的哈希值会被写入到cDSP镜像里,从而,可根据对so库的哈希值进行签名校验。
第二种方式存在的缺陷:针对so库中的哈希值的签名校验方式可以在正式版本中使用,但是开发人员无法进行调试,只适合将一个稳定的版本集成到安卓系统中,如果so库需要更新,必须要重新编译cDSP镜像,线上版本需要通过空中下载技术(Over the AirTechnology,OTA)进行升级,导致第二种方式使用的局限性很大,由于OTA周期较长,导致通过OTA技术更新so库变得很困难。
请参阅图1B,图1B是本申请实施例提供的一种签名校验方法的流程示意图,本实施例中所描述的签名校验方法,应用于如图1A所示的电子设备,所述电子设备包括计算数字信号处理器cDSP,该签名校验方法包括:
101、cDSP接收目标应用发送的so库,所述so库包括所述so库的受信任代码组织TCG签名。
其中,目标应用是电子设备中安装的应用,目标应用可以是由第三方提供的应用。so库是可以在cDSP上运行的库。
本申请实施例中,使用cDSP的公司会向高通申请TCG签名,高通会释放给该公司一个签名私钥,并且释放一个唯一的TCG签名代码,然后,将该TCG签名代码加入到cDSP的testrootconfig.xml文件中。当电子设备中的目标应用需要调用cDSP对目标应用的运行进行加速,可通过远程过程调用(Remote Procedure Call,RPC)技术将so库发送至cDSP,进而,cDSP可以接收目标应用发送的so库。
102、所述cDSP加载TCG扩展白名单,并根据所述TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单。
本申请实施例中,cDSP可加载TCG扩展白名单,并根据TCG扩展白名单对原始TCG白名单进行更新,其中,TCG扩展白名单是指新增的TCG白名单,原始TCG白名单是指上一次进行签名校验后的TCG白名单。具体实现中,cDSP加载目标应用的so库之后,可从预设的cDSP文件目录下加载so类型文件,例如,so类型文件可以是oemconfig.so文件,然后,从so类型文件中读取TCG扩展白名单,并根据TCG扩展白名单对原始TCG白名单进行更新。
本申请实施例中,TCG扩展白名单是由服务器对cDSP文件目录中的配置文件进行更新后得到的。具体地,服务器可定时检测电子设备中cDSP文件目录中的配置文件是否存在文件变化,若是,且文件变化包括以下至少一种:增加白名单、删除白名单,则根据包含增加白名单或者删除白名单中至少一种内容的文件变化信息生成so类型文件。从而,电子设备可以在加载TCG扩展白名单的过程中,加载so类型文件,并根据so类型文件中读取的TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单。
可见,通过根据TCG扩展白名单对原始TCG白名单进行更新,可实时对TCG白名单进行更新,从而可以在线自由的控制第三方应用使用cDSP。极大地提高了跟第三方AI公司合作的效率。此外,可解决第三方应用无法更新so库的问题,可以跟第三方公司合作开发cDSP的算法库并快速推向市场,可以开放cDSP硬件给第三方公司。
103、所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验,若校验通过,运行所述so库。
本申请实施例中,在得到目标TCG白名单后,可根据目标TCG白名单对所述so库的TCG签名进行校验,若校验通过,表明目标应用可以调用cDSP进行加速,从而,cDSP可以运行so库,对目标应用进行加速。
可选地,上述步骤103中,cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验,可包括以下步骤:
将所述so库中的TCG签名代码与所述目标TCG白名单中的参考签名代码进行比对,若所述目标TCG白名单中存在与所述TCG签名代码一致的参考签名代码,确认校验通过。
本申请实施例中,目标TCG白名单中包含可以调用cDSP的多个参考签名代码,从而,可将so库中的TCG签名代码与目标TCG白名单中的参考签名代码依次进行比对,直到确定与TCG签名代码一致的参考签名代码,确认校验通过。
可选地,在所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验之前,还可包括以下步骤:
A1、确定所述so库中的哈希值是否存在哈希白名单中,若存在,确认校验通过;
A2、若所述so库中的哈希值不存在所述哈希白名单中,执行所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验的操作。
其中,除了so库的TCG签名之外,还可通过so库中的哈希值进行签名校验,当哈希值校验通过,可以通过cDSP运行so库,对目标应用进行加速。具体实现中,可将so库中的哈希值编译至安卓系统,so库的哈希值会被写入到c DSP镜像里,从而,可对so库的哈希值进行签名校验。
本申请实施例中,在cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验之前,还可先采用so库中的哈希值进行签名校验,采用so库中的哈希值进行签名校验比较快速,因此,可先确定所述so库中的哈希值是否存在哈希白名单中,若存在,确认校验通过,则不再针对so库的TCG签名进行校验,从而,可提高校验效率。
可选地,在所述确定所述so库中的哈希值是否存在哈希白名单中之前,还可包括以下步骤:
B1、确定所述电子设备的安全启动Security Boot的设置状态;
B2、若所述设置状态为关闭状态,运行所述so库,若所述so库运行成功,确认校验通过,若所述so库运行失败,执行所述确定所述so库中的哈希值是否存在哈希白名单中的操作;
B3、若所述设置状态为开启状态,执行所述确定所述so库中的哈希值是否存在哈希白名单中的操作。
本申请实施例中,除了针对so库的TCG签名进行签名校验,以及,针对so库中的哈希值进行签名校验之外,还有一种测试签名校验方式,测试签名校验方式可以用于开发调试使用,采用此校验方式,需要关闭SecurityBoot。
本申请实施例中,在确定所述so库中的哈希值是否存在哈希白名单中之前,还可先确定电子设备的安全启动Security Boot的设置状态,若设置状态为关闭状态,可采用测试签名校验方式,具体费,电子设备可运行so库,若so库运行成功,确认校验通过,若所述so库运行失败,确认校验不通过,从而,可执行确定所述so库中的哈希值是否存在哈希白名单中的操作,即采用针对so库的TCG签名进行签名校验。若所述设置状态为开启状态,则不能采用测试签名校验方式进行签名校验,因此,可执行所述确定所述so库中的哈希值是否存在哈希白名单中的操作,即采用针对so库的TCG签名进行签名校验。
请参阅图1C,图1C为本申请实施例提供的一种签名校验方法的流程示意图,其中,在目标应用需要调用cDSP时,可先确定电子设备的安全启动Security Boot的设置状态,若设置状态为关闭状态,运行so库,若so库运行成功,确认校验通过,若so库运行失败,执行确定所述so库中的哈希值是否存在哈希白名单中的操作;若设置状态为开启状态,执行检测so库中的哈希值是否存在哈希白名单中的操作。确定so库中的哈希值是否存在哈希白名单中,若存在,确认校验通过,若所述so库中的哈希值不存在所述哈希白名单中,cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验,若校验通过,运行所述so库。
可选地,本申请实施例中,还可包括以下步骤:
C1、在所述cDSP中添加cDSP接口;
C2、在检测到预设的cDSP文件目录下存在文件变化,且所述文件变化包括以下至少一种:增加白名单、删除白名单时,通过所述cDSP接口对所述TCG白名单执行预设操作,所述预设操作包括以下至少一种:添加、查询、删除、修改、更新。
本申请实施例中,由于电子设备难以直接增加TCG白名单或者删除TCG白名单,因此,可在cDSP中添加cDSP接口,从而,可通过cDSP接口对所述TCG白名单执行预设操作,具体地,可对白名单进行添加、查询、删除、修改、更新中任意一种操作。
可以看出,本申请实施例中所描述的签名校验方法,应用于电子设备,电子设备包括计算数字信号处理器cDSP,通过在cDSP接收目标应用发送的so库,so库包括so库的受信任代码组织TCG签名,cDSP加载TCG扩展白名单,并根据TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单,cDSP根据目标TCG白名单对so库的TCG签名进行校验,若校验通过,运行所述so库,如此,根据TCG扩展白名单更新TCG白名单,并根据更新后的目标TCG白名单进行签名校验,使得TCG签名校验更加智能。
请参阅图2,图2是本申请实施例提供的另一种签名校验方法的流程示意图,本实施例中所描述的签名校验方法,应用于如图1A所示的电子设备,所述电子设备包括计算数字信号处理器cDSP,该方法可包括以下步骤:
201、cDSP接收目标应用发送的so库,所述so库包括所述so库的受信任代码组织TCG签名。
202、所述cDSP加载TCG扩展白名单,并根据所述TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单。
203、将所述so库中的TCG签名代码与所述目标TCG白名单中的参考签名代码进行比对,若所述目标TCG白名单中存在与所述TCG签名代码一致的参考签名代码,确认校验通过。
204、cDSP运行所述so库。
其中,上述步骤201-204的具体实现过程可参照步骤101-103中相应的描述,在此不再赘述。
可以看出,本申请实施例中所描述的签名校验方法,应用于电子设备,电子设备包括计算数字信号处理器cDSP,通过在cDSP接收目标应用发送的so库,so库包括so库的受信任代码组织TCG签名,cDSP加载TCG扩展白名单,并根据TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单,将so库中的TCG签名代码与目标TCG白名单中的参考签名代码进行比对,若目标TCG白名单中存在与TCG签名代码一致的参考签名代码,确认校验通过,运行所述so库,如此,根据TCG扩展白名单更新TCG白名单,并根据更新后的目标TCG白名单进行签名校验,使得TCG签名校验更加智能。
与上述一致地,请参阅图3,为本申请实施例提供的另一种签名校验方法的流程示意图,本实施例中所描述的签名校验方法,应用于如图1A所示的电子设备,所述电子设备包括计算数字信号处理器cDSP,该方法可包括以下步骤:
301、cDSP接收目标应用发送的so库,所述so库包括所述so库的受信任代码组织TCG签名。
302、所述cDSP加载TCG扩展白名单,并根据所述TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单。
303、确定所述电子设备的安全启动Security Boot的设置状态。
304、若所述设置状态为关闭状态,运行所述so库,若所述so库运行成功,确认校验通过。
305、若所述so库运行失败,确定所述so库中的哈希值是否存在哈希白名单中的操作;或者,若所述设置状态为开启状态,确定所述so库中的哈希值是否存在哈希白名单中,若存在,确认校验通过。
306、若所述so库中的哈希值不存在所述哈希白名单中,所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验,若校验通过,运行所述so库。
其中,步骤301-306的具体实现过程可参见步骤101-103中相应的描述,在此不再赘述。
可以看出,本申请实施例中所描述的签名校验方法,应用于电子设备,电子设备包括计算数字信号处理器cDSP,cDSP接收目标应用发送的so库,so库包括so库的受信任代码组织TCG签名,cDSP加载TCG扩展白名单,并根据TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单,确定电子设备的安全启动Security Boot的设置状态,若设置状态为关闭状态,运行so库,若so库运行成功,确认校验通过,若so库运行失败,确定so库中的哈希值是否存在哈希白名单中的操作;或者,若设置状态为开启状态,确定so库中的哈希值是否存在哈希白名单中,若存在,确认校验通过,若so库中的哈希值不存在哈希白名单中,cDSP根据目标TCG白名单对so库的TCG签名进行校验,若校验通过,运行so库,如此,可先根据测试签名验证方式或者哈希值的签名验证方式进行签名验证,然后根据TCG扩展白名单更新TCG白名单,并根据更新后的目标TCG白名单进行签名校验,可提高签名验证的速率,使得TCG签名校验更加智能。
以下是实施上述签名校验方法的装置,具体如下:
与上述一致地,请参阅图4,图4是本申请实施例提供的一种电子设备的结构示意图,该电子设备包括:计算数字信号处理器cDSP410、通信接口430、和存储器420;以及一个或多个程序,所述一个或多个程序421被存储在所述存储器420中,并且被配置成由所述cDSP执行,所述程序421包括用于执行以下步骤的指令:
所述cDSP接收目标应用发送的so库,所述so库包括所述so库的受信任代码组织TCG签名;
所述cDSP加载TCG扩展白名单,并根据所述TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单;
所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验,若校验通过,运行所述so库。
在一个可能的示例中,在所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验方面,所述程序421包括用于执行以下步骤的指令:
将所述so库中的TCG签名代码与所述目标TCG白名单中的参考签名代码进行比对,若所述目标TCG白名单中存在与所述TCG签名代码一致的参考签名代码,确认校验通过。
在一个可能的示例中,在所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验之前,所述程序421还包括用于执行以下步骤的指令:
确定所述so库中的哈希值是否存在哈希白名单中,若存在,确认校验通过;
若所述so库中的哈希值不存在所述哈希白名单中,执行所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验的操作。
在一个可能的示例中,在所述确定所述so库中的哈希值是否存在哈希白名单中之前,所述程序421还包括用于执行以下步骤的指令:
确定所述电子设备的安全启动Security Boot的设置状态;
若所述设置状态为关闭状态,运行所述so库,若所述so库运行成功,确认校验通过,若所述so库运行失败,执行所述确定所述so库中的哈希值是否存在哈希白名单中的操作;
若所述设置状态为开启状态,执行所述确定所述so库中的哈希值是否存在哈希白名单中的操作。
在一个可能的示例中,所述程序421还包括用于执行以下步骤的指令:
在所述cDSP中添加cDSP接口;
在检测到预设的cDSP文件目录下存在文件变化,且所述文件变化包括以下至少一种:增加白名单、删除白名单时,通过所述cDSP接口对所述TCG白名单执行预设操作,所述预设操作包括以下至少一种:添加、查询、删除、修改、更新。
请参阅图5A,图5A是本实施例提供的一种签名校验装置的结构示意图,应用于电子设备,所述电子设备包括计算数字信号处理器cDSP,所述签名校验装置包括接收单元501、更新单元502和校验单元503,其中,
所述接收单元501,用于通过所述cDSP接收目标应用发送的so库,所述so库包括所述so库的受信任代码组织TCG签名;
所述更新单元502,同于加载TCG扩展白名单,并根据所述TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单;
所述校验单元503,用于根据所述目标TCG白名单对所述so库的TCG签名进行校验,若校验通过,运行所述so库。
可选地,在所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验方面,所述校验单元具体用于:
将所述so库中的TCG签名代码与所述目标TCG白名单中的参考签名代码进行比对,若所述目标TCG白名单中存在与所述TCG签名代码一致的参考签名代码,确认校验通过。
可选地,如图5B,图5B为图5A所示的设备启动监控装置的变型结构,其与图5A相比较,还可以包括:确定单元504,其中,所述确定单元504用于:
确定所述so库中的哈希值是否存在哈希白名单中,若存在,确认校验通过;
若所述so库中的哈希值不存在所述哈希白名单中,由所述校验单元503行所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验的操作。
可选地,所述确定单元504还用于:
确定所述电子设备的安全启动Security Boot的设置状态;
若所述设置状态为关闭状态,运行所述so库,若所述so库运行成功,确认校验通过,若所述so库运行失败,执行所述确定所述so库中的哈希值是否存在哈希白名单中的操作;
若所述设置状态为开启状态,执行所述确定所述so库中的哈希值是否存在哈希白名单中的操作。
可选地,如图5C,图5C为图5A或图5B所示的设备启动监控装置的变型结构,其与图5A、图5B相比较,还可以包括:执行单元505,其中,所述执行单元505用于:
在所述cDSP中添加cDSP接口;
在检测到预设的cDSP文件目录下存在文件变化,且所述文件变化包括以下至少一种:增加白名单、删除白名单时,通过所述cDSP接口对所述TCG白名单执行预设操作,所述预设操作包括以下至少一种:添加、查询、删除、修改、更新。
可以看出,本申请实施例中所描述的签名校验装置,应用于电子设备,电子设备包括计算数字信号处理器cDSP,通过在cDSP接收目标应用发送的so库,so库包括so库的受信任代码组织TCG签名,cDSP加载TCG扩展白名单,并根据TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单,cDSP根据目标TCG白名单对so库的TCG签名进行校验,若校验通过,运行所述so库,如此,根据TCG扩展白名单更新TCG白名单,并根据更新后的目标TCG白名单进行签名校验,使得TCG签名校验更加智能。
可以理解的是,本实施例的签名校验装置的各程序模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本申请实施例还提供了另一种电子设备,如图6所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该电子设备可以为包括手机、平板电脑、PDA(personal digital assistant,个人数字助理)、POS(point of sales,销售终端)、车载电脑等任意终端设备,以电子设备为手机为例:
图6示出的是与本申请实施例提供的电子设备相关的手机的部分结构的框图。参考图6,手机包括:射频(Radio Frequency,RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(Wireless Fidelity,Wi-Fi)模块970、计算数字信号处理器cDSP980、以及电源990等部件。本领域技术人员可以理解,图6中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图6对手机的各个构成部件进行具体的介绍:
RF电路910可用于信息的接收和发送。通常,RF电路910包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器920可用于存储软件程序以及模块,cDSP980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括指纹识别模组931以及其他输入设备932。指纹识别模组931,可采集用户在其上的指纹数据。除了指纹识别模组931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于触控屏、物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示屏941,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机或无机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示屏941。
手机还可包括至少一种传感器950,其中,传感器包括环境传感器,环境传感器可包括温度传感器、湿度传感器和环境光传感器。除了环境传感器951,传感器950还可以包括其他传感器952,比如运动传感器、压力传感器等等。其中,环境光传感器还可根据环境光线的明暗来调节手机的背光亮度,进而调节显示屏941的亮度,接近传感器可在手机移动到耳边时,关闭显示屏941和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路960、扬声器961,传声器962可提供用户与手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号播放;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据播放cDSP980处理后,经RF电路910以发送给比如另一手机,或者将音频数据播放至存储器920以便进一步处理。
Wi-Fi属于短距离无线传输技术,手机通过Wi-Fi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了Wi-Fi模块970,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
cDSP980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,cDSP980可包括一个或多个处理单元;优选的,cDSP980可集成应用cDSP和调制解调cDSP,其中,应用cDSP主要处理操作系统、用户界面和应用程序等,调制解调cDSP主要处理无线通信。可以理解的是,上述调制解调cDSP也可以不集成到cDSP980中。
手机还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与cDSP980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
手机还可以包括摄像头9100,摄像头用于拍摄图像与视频,并将拍摄的图像和视频传输到cDSP980进行处理。
手机还可以包括蓝牙模块等,在此不再赘述。
前述图1B、图2和图3所示的实施例中,各步骤方法流程可以基于该手机的结构实现。
本申请实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述签名校验方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一签名校验方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种签名校验方法,其特征在于,应用于使用安卓系统的电子设备,所述电子设备包括计算数字信号处理器cDSP,所述方法包括:
所述cDSP接收目标应用发送的so库,所述so库包括所述so库的受信任代码组织TCG签名;
所述cDSP加载TCG扩展白名单,并根据所述TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单;
所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验,若校验通过,运行所述so库。
2.根据权利要求1所述的方法,其特征在于,所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验,包括:
将所述so库中的TCG签名代码与所述目标TCG白名单中的参考签名代码进行比对,若所述目标TCG白名单中存在与所述TCG签名代码一致的参考签名代码,确认校验通过。
3.根据权利要求2所述的方法,其特征在于,在所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验之前,所述方法还包括:
确定所述so库中的哈希值是否存在哈希白名单中,若存在,确认校验通过;
若所述so库中的哈希值不存在所述哈希白名单中,执行所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验的操作。
4.根据权利要求1-3任一项所述的方法,在所述确定所述so库中的哈希值是否存在哈希白名单中之前,所述方法还包括:
确定所述电子设备的安全启动Security Boot的设置状态;
若所述设置状态为关闭状态,运行所述so库,若所述so库运行成功,确认校验通过,若所述so库运行失败,执行所述确定所述so库中的哈希值是否存在哈希白名单中的操作;
若所述设置状态为开启状态,执行所述确定所述so库中的哈希值是否存在哈希白名单中的操作。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
在所述cDSP中添加cDSP接口;
在检测到预设的cDSP文件目录下存在文件变化,且所述文件变化包括以下至少一种:增加白名单、删除白名单时,通过所述cDSP接口对所述TCG白名单执行预设操作,所述预设操作包括以下至少一种:添加、查询、删除、修改、更新。
6.一种签名校验装置,其特征在于,应用于电子设备,应用于使用安卓系统的电子设备,所述电子设备包括计算数字信号处理器cDSP,所述签名校验装置包括:
接收单元,用于通过所述cDSP接收目标应用发送的so库,所述so库包括所述so库的受信任代码组织TCG签名;
更新单元,同于加载TCG扩展白名单,并根据所述TCG扩展白名单对原始TCG白名单进行更新,得到目标TCG白名单;
校验单元,用于根据所述目标TCG白名单对所述so库的TCG签名进行校验,若校验通过,运行所述so库。
7.根据权利要求6所述的签名校验装置,其特征在于,在所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验方面,所述校验单元具体用于:
将所述so库中的TCG签名代码与所述目标TCG白名单中的参考签名代码进行比对,若所述目标TCG白名单中存在与所述TCG签名代码一致的参考签名代码,确认校验通过。
8.根据权利要求7所述的签名校验装置,其特征在于,所述签名校验装置还包括确定单元,其中,所述确定单元用于:
确定所述so库中的哈希值是否存在哈希白名单中,若存在,确认校验通过;
若所述so库中的哈希值不存在所述哈希白名单中,由所述校验单元执行所述cDSP根据所述目标TCG白名单对所述so库的TCG签名进行校验的操作。
9.一种电子设备,其特征在于,包括:计算数字信号处理器cDSP、存储器和通信接口;以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置成由所述cDSP执行,所述程序包括用于如权利要求1-5任一项所述的方法的指令。
10.一种计算机可读存储介质,其特征在于,其用于存储计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-5任一项所述的方法。
CN201910512353.2A 2019-06-13 2019-06-13 签名校验方法及相关产品 Active CN110233734B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910512353.2A CN110233734B (zh) 2019-06-13 2019-06-13 签名校验方法及相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910512353.2A CN110233734B (zh) 2019-06-13 2019-06-13 签名校验方法及相关产品

Publications (2)

Publication Number Publication Date
CN110233734A true CN110233734A (zh) 2019-09-13
CN110233734B CN110233734B (zh) 2022-03-11

Family

ID=67859080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910512353.2A Active CN110233734B (zh) 2019-06-13 2019-06-13 签名校验方法及相关产品

Country Status (1)

Country Link
CN (1) CN110233734B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112862905A (zh) * 2019-11-27 2021-05-28 深圳市万普拉斯科技有限公司 图像处理方法、装置、存储介质及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936768A (zh) * 2015-12-29 2017-07-07 大唐高鸿信安(浙江)信息科技有限公司 基于可信芯片的白名单网络管控系统及方法
CN107977553A (zh) * 2017-12-25 2018-05-01 中国电子产品可靠性与环境试验研究所 移动应用程序的安全加固的方法及装置
CN108399080A (zh) * 2018-03-05 2018-08-14 深圳市华讯方舟软件信息有限公司 一种Android App热更新方法
CN109657454A (zh) * 2018-12-20 2019-04-19 成都三零瑞通移动通信有限公司 一种基于tf密码模块的安卓应用可信验证方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936768A (zh) * 2015-12-29 2017-07-07 大唐高鸿信安(浙江)信息科技有限公司 基于可信芯片的白名单网络管控系统及方法
CN107977553A (zh) * 2017-12-25 2018-05-01 中国电子产品可靠性与环境试验研究所 移动应用程序的安全加固的方法及装置
CN108399080A (zh) * 2018-03-05 2018-08-14 深圳市华讯方舟软件信息有限公司 一种Android App热更新方法
CN109657454A (zh) * 2018-12-20 2019-04-19 成都三零瑞通移动通信有限公司 一种基于tf密码模块的安卓应用可信验证方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QUALCOMM: ""Qualcomm Hexagon DSP User Guide"", 《QUALCOMM HEXAGON DSP》 *
张译恬等: ""基于安卓系统JNI机制的SO库加固方案设计"", 《电信技术》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112862905A (zh) * 2019-11-27 2021-05-28 深圳市万普拉斯科技有限公司 图像处理方法、装置、存储介质及计算机设备
CN112862905B (zh) * 2019-11-27 2023-08-11 深圳市万普拉斯科技有限公司 图像处理方法、装置、存储介质及计算机设备

Also Published As

Publication number Publication date
CN110233734B (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
CN104965721B (zh) 一种对应用程序进行更新的方法及装置
CN106066686B (zh) 一种信息处理方法及终端设备
CN106446841B (zh) 一种指纹模板匹配顺序更新方法及终端
CN109241765A (zh) 移动终端和应用程序的权限管理方法、装置
CN110489344A (zh) 引擎测试方法及相关产品
CN106126174B (zh) 一种场景音效的控制方法、及电子设备
CN110196795B (zh) 检测移动终端应用运行状态的方法及相关装置
CN106170034B (zh) 一种音效处理方法及移动终端
CN108234769A (zh) 跌落保护方法及相关产品
CN110147237A (zh) 一种冗余资源去除方法和装置
CN110210605A (zh) 硬件算子匹配方法及相关产品
CN112148579B (zh) 一种用户界面的测试方法和装置
CN106534288B (zh) 一种数据传输方法及移动终端
CN107967424A (zh) 一种插件的验证方法、装置、终端设备和存储介质
CN107622200A (zh) 应用程序的安全性检测方法及装置
CN106775827A (zh) 一种应用程序更新方法及装置、计算机设备
CN108228230A (zh) Ufs固件的升级方法、终端及计算机可读存储介质
CN108574778A (zh) 投屏亮度调节方法以及相关产品
CN110058850A (zh) 一种应用的开发方法、装置以及存储介质
CN107908407A (zh) 编译方法、装置及终端设备
CN107219951A (zh) 触控屏控制方法、装置、存储介质及终端设备
CN106708633B (zh) 加快终端WiFi工作站模式关闭速度的方法及移动终端
CN106648455A (zh) 一种数据迁移方法及移动终端
CN108762798A (zh) 一种增量更新文件的方法及装置
CN108280341A (zh) 渠道号添加、安装包校验方法及装置

Legal Events

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