本申请涉及ic芯片验证,例如涉及一种用于芯片的trustzone功能的验证方法及装置、电子设备。
背景技术:
1、目前,为了应对日益频繁的芯片攻击手段,在芯片中引入了trustzone功能。trustzone功能通过将芯片的中央处理器划分为安全世界和非安全世界两个独立运行的环境,实现了从内核到芯片级别的全面硬件隔离。这种设计允许敏感数据和关键操作在安全世界中得到保护,而普通应用程序则在非安全世界中运行,有效防止了非授权访问和恶意篡改。
2、由于trustzone功能属于芯片的安全解决方案,所以,在生产芯片之前,对芯片设计方案中的trustzone功能进行验证十分必要的。
3、然而,由于trustzone功能与软件层面的紧密耦合,其验证工作通常需要在芯片的软件功能设计完成之后才能进行,这导致对芯片的trustzone功能进行验证的时间比较紧张。此外,trustzone功能涉及复杂的权限控制逻辑,如果为了提高验证效率,采用多人协作的方式对trustzone功能进行验证,极易出现安全世界和非安全世界权限混淆和验证遗漏的问题,导致对trustzone功能的验证结果的准确性较低。因此,亟需一种能够高效、准确的对芯片的trustzone功能进行验证的技术方案。
4、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
2、本公开实施例提供了一种用于芯片的trustzone功能的验证方法及装置、电子设备,能够提高对芯片的trustzone功能进行验证的效率和准确性。
3、在一些实施例中,用于芯片的trustzone功能的验证方法应用于电子设备,验证方法通过运行电子设备内的芯片验证环境实现,芯片验证环境部署有uvm程序和待测芯片,待测芯片为基于芯片设计方案仿真出的代码文件,验证方法包括:接收第一配置信息,构建验证文件;在待测芯片上电完成后,将验证文件载入至待测芯片的c程序中;接收第二配置信息,并根据第二配置信息使uvm程序与c程序进行多个验证项目的数据传输交互,获得c程序反馈的验证响应信息;根据验证响应信息确认待测芯片的trustzone功能的验证结果。
4、可选地,第二配置信息包括安全世界配置信息和非安全世界配置信息,验证响应信息包括第一响应信息和第二响应信息;根据第二配置信息使uvm程序与c程序进行多个验证项目的数据传输交互,获得c程序反馈的验证响应信息,包括:在c程序运行在安全世界环境时,使uvm程序按照安全世界配置信息与c程序进行多个验证项目的数据传输交互,获得每个验证项目的第一响应信息;在c程序运行在非安全世界环境时,使uvm程序按照非安全世界配置信息与c程序进行多个验证项目的数据传输交互,获得每个验证项目的第二响应信息。
5、可选地,安全世界配置信息包括每个验证项目的第一循环次数;使uvm程序按照安全世界配置信息与c程序进行多个验证项目的数据传输交互,获得每个验证项目的第一响应信息,包括:使uvm程序按照当前验证项目的第一循环次数多次向c程序发送与当前验证项目对应的安全验证数据,以使c程序多次执行安全验证数据,并反馈每次的响应信息,获得当前验证项目的第一响应信息;在获得全部验证项目的第一响应信息之后,结束uvm程序和c程序在安全世界环境下的数据传输交互。
6、可选地,在结束uvm程序和c程序在安全世界环境下的数据传输交互之后,验证方法还包括:向c程序发送切换指令,以使c程序切换至非安全世界环境中运行。
7、可选地,非安全世界配置信息包括每个验证项目的第二循环次数;使uvm程序按照非安全世界配置信息与c程序进行多个验证项目的数据传输交互,获得每个验证项目的第二响应信息,包括:使uvm程序按照当前验证项目的第二循环次数多次向c程序发送与当前验证项目对应的非安全验证数据,以使c程序多次执行非安全验证数据,并反馈每次的响应信息,获得当前验证项目的第二响应信息;在获得全部验证项目的第二响应信息之后,结束uvm程序和c程序在非安全世界环境下的数据传输交互。
8、可选地,安全世界配置信息还包括第一异常期望值,非安全世界配置信息还包括第二异常期望值;在c程序运行secure fault处理函数时,第一异常期望值和第二异常期望值均为1。
9、可选地,根据验证响应信息确认待测芯片的trustzone功能的验证结果,包括:在每一验证项目的第一响应信息均符合对应验证项目的要求的情况下,确认待测芯片的trustzone功能的安全世界通过验证;在每一验证项目的第二响应信息均符合对应验证项目的要求的情况下,确认待测芯片的trustzone功能的非安全世界通过验证。
10、可选地,第一配置信息包括安全世界代码和非安全世界代码的中断向量表地址、安全世界代码的第一要求信息和非安全世界代码的第二要求信息;接收第一配置信息,构建验证文件,包括:根据第一要求信息生成安全世界代码,获得第一rom文件;根据第二要求信息生成非安全世界代码,并将第一rom文件中的nsc lib库搬运到非安全世界代码中,获得第二rom文件;根据中断向量表地址,将第一rom文件和第二rom文件集成为验证文件。
11、在一些实施例中,用于芯片的trustzone功能的验证装置,包括处理器和存储有程序指令的存储器,处理器被配置为在运行所述程序指令时,执行如上述的用于芯片的trustzone功能的验证方法。
12、在一些实施例中,电子设备,包括:设备本体;如上述的用于芯片的trustzone功能的验证装置,安装于设备本体。
13、本公开实施例提供的用于芯片的trustzone功能的验证方法及装置、电子设备,可以实现以下技术效果:
14、本公开实施例中,只需验证人员输入第一配置信息,电子设备即可自动构建出用于载入待测芯片的c程序的验证文件,简化了验证人员编写验证文件的工作。这样,提高了对芯片的trustzone功能的进行验证的效率。本公开实施例中,采用电子设备内的芯片验证环境中的uvm程序与待测芯片的c程序进行数据传输交互的方式进行trustzone功能验证,能够充分利用uvm程序的标准化优势和c程序的底层实现优势,能够对trustzone功能的安全世界和非安全世界的行为实现精准模拟,且这种方式相比于采用多人协作的方式,可以避免验证时出现trustzone功能的安全世界和非安全世界权限混淆和验证遗漏的问题。这样,提高了对芯片的trustzone功能进行验证的准确性。
15、以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
1.一种用于芯片的trustzone功能的验证方法,应用于电子设备,其特征在于,验证方法通过运行电子设备内的芯片验证环境实现,芯片验证环境部署有uvm程序和待测芯片,待测芯片为基于芯片设计方案仿真出的代码文件,验证方法包括:
2.根据权利要求1所述的验证方法,其特征在于,第二配置信息包括安全世界配置信息和非安全世界配置信息,验证响应信息包括第一响应信息和第二响应信息;根据第二配置信息使uvm程序与c程序进行多个验证项目的数据传输交互,获得c程序反馈的验证响应信息,包括:
3.根据权利要求2所述的验证方法,其特征在于,安全世界配置信息包括每个验证项目的第一循环次数;使uvm程序按照安全世界配置信息与c程序进行多个验证项目的数据传输交互,获得每个验证项目的第一响应信息,包括:
4.根据权利要求3所述的验证方法,其特征在于,在结束uvm程序和c程序在安全世界环境下的数据传输交互之后,验证方法还包括:
5.根据权利要求2所述的验证方法,其特征在于,非安全世界配置信息包括每个验证项目的第二循环次数;使uvm程序按照非安全世界配置信息与c程序进行多个验证项目的数据传输交互,获得每个验证项目的第二响应信息,包括:
6.根据权利要求2至5中任一项所述的验证方法,其特征在于,安全世界配置信息还包括第一异常期望值,非安全世界配置信息还包括第二异常期望值;
7.根据权利要求2至5中任一项所述的验证方法,其特征在于,根据验证响应信息确认待测芯片的trustzone功能的验证结果,包括:
8.根据权利要求1至5任一项所述的验证方法,其特征在于,第一配置信息包括安全世界代码和非安全世界代码的中断向量表地址、安全世界代码的第一要求信息和非安全世界代码的第二要求信息;接收第一配置信息,构建验证文件,包括:
9.一种用于芯片的trustzone功能的验证装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在运行所述程序指令时,执行如权利要求1至8中任一项所述的用于芯片的trustzone功能的验证方法。
10.一种电子设备,其特征在于,包括:
