本发明涉及一种基于可信启动的efuse控制方法、装置及存储介质,属于集成电路。
背景技术:
1、efuse(electronic fuse,efuse)是一种非易失性的一次性可编程存储器。用于存储固定、不可更改的系统数据、配置或敏感信息,可有效的保证数据真实性和完整性。
2、efuse的实现方式通常涉及芯片上特殊的熔丝结构,这些熔丝可以通过施加特定的电压或电流来熔断。熔断的熔丝代表一个特定的二进制(通常是1),而未熔断的熔丝则代表初始值(通常是0)。通过这种方式可以在芯片上存储所需要的数据模式。
3、由于其一次性可编程的特性,特别适合需要高安全性的应用场景。尤其是在可信领域内,其可用作硬件安全模块的重要组成部分,存储系统密钥、证书、序列号、加密数据、启动配置项等敏感信息。也可以与加密算法、安全启动等其他可信启动相关的安全特性结合使用,提供更高层次更多维的安全保护。
4、尤其在可信计算领域,其诸多防护错误均需建立在安全启动这一基础上,无无法完成安全启动,则一切硬件防护手段均无从谈起。可以说安全启动是硬件防护的基础,而efuse则是安全启动基础。
5、efuse随具有安全特性,但现阶段的efuse控制器却鲜有安全保护措施。如:对efuse内部数据没有做到分级访问,对访问者也没有做到身份识别,对芯片不同使用阶段也没有做到分阶段权限管理。这样将存在数据泄露和数据被攻击以至于损毁的风险。
6、但在当前相关技术中,对efuse的读写访问形式大多受限于不同厂商存储体读写时序特性和不同频时钟下的读写脉冲计算方式影响。同时,efuse作为存放大量系统敏感信息的载体,对其控制电路却鲜有相关保护措施,使其在一些高安全应用场景下无法满足使用需求,反而容易形成安全短板。
7、因此,在信息安全愈发重要的今天,如何提供一种具备高安全特性的efuse控制器对硬件安全提升显示尤为关键。
技术实现思路
1、本发明的目的在于克服现有技术中的不足,提供一种基于可信启动的efuse控制方法、装置及存储介质,实现在对efuse读写访问安全能力的提升,可以防护因不明身份恶意攻击、操作人员误操作、芯片流转至不同阶段使用者手中导致越权访问的问题。
2、为达到上述目的,本发明是采用下述技术方案实现的:
3、第一方面,本发明提供了一种基于可信启动的efuse控制方法,包括:
4、接收访问者发送的读写信号,对访问者身份进行验证,其中读写信号包括访问者的地址、读使能信号以及写使能信号;
5、若身份验证通过,则按照拟配置的efuse读写时序要求,通过接收的读写信号对efuse存储体进行协议解析;
6、在读写过程中,对访问者的地址进行解析,并根据访问者的地址、读使能信号以及写使能信号,对输出至efuse存储体的读写信号进行控制。
7、进一步的,所述接收访问者发送的读写信号,对访问者身份进行验证,包括:
8、控制器接收访问者发送的读写信号,通过其内置随机数模块生成一串随机数并发送至访问者,同时将随机数作为参考值写入比较寄存器内;
9、控制器接收访问者返回的签名,利用提前约定好的公钥对签名进行验签,验签结果存入比较寄存器内进行比较运算;其中,所述签名为访问者收到随机数后,使用提前约定好的私钥对随机数进行签名得到的;
10、若验签结果为真,则判定身份认证通过,控制器将外部访问通路从身份鉴权切换至数据访问通路,允许访问者进行数据读写操作。
11、进一步的,所述按照拟配置的efuse读写时序要求,通过接收的读写信号对efuse存储体进行协议解析,包括:
12、配置efuse存储体中各读写信号的时序保持时间以及efuse存储体的时钟工作频率,并为每个读写信号分配对应的计数器;
13、通过计数器为每个接收的读写信号进行计数;
14、当计数器计数值达到读写信号的时序保持时间后,通过相应的读写信号对efuse存储体进行协议解析。
15、进一步的,所述在读写过程中,对访问者的地址进行解析,并根据访问者的地址、读使能信号以及写使能信号,对输出至efuse存储体的读写信号进行控制,包括:
16、控制器对地址进行解析,将读写信号中的地址作为容量扩展和读写efuse存储体的有效行地址;
17、控制器对读使能信号和写使能信号的有效性进行判断;
18、若写使能信号有效,控制器通过写入数据来产生列地址,写入数据按照设定数据量,由低位至高位分为多个部分,每部分写入数据分别对应一个行地址,不同写入数据对应的行地址由有效行地址产生,其中有效行地址为访问者发送的读写信号中的地址;
19、以解析得到的有效行地址为基准,对写入数据由低位至高位进行列地址的解析,判断行地址的索引位的值是否为1,若索引位的值为1,则将索引值作为列地址,与行地址拼接组成efuse的写地址并进行数据烧录;
20、在完成写入数据所有索引位的列地址检索后,判定有效行地址已完成烧录,再执行并完成剩余写操作;
21、若读使能信号有效,控制器则按照有效行地址对存储体进行读操作,读回数据按照由低位至高位进行存储,每完成一次读操作行地址累加一次,进行下一轮读操作,直至完成预定数据量的读出。
22、进一步的,所述方法还包括:对访问者发出的地址进行有效性检查,若地址验证有效,对efuse存储体进行读写操作;若地址验证无效,则登记异常情况至寄存器组内,返回错误响应,结束本次操作。
23、进一步的,所述方法还包括:每完成一次写操作后,触发校验模块发起一次同样地址的读操作,将读回数据与写入数据进行比较,校验写入数据的正确性。
24、进一步的,所述方法还包括:在写操作时计算写入数据的crc校验值并保存,在读操作时比较读回数据的crc校验值和保存的crc值,以验证数据的正确性。
25、第二方面,本发明提供一种基于可信启动的efuse控制装置,应用于efuse存储体,包括:
26、身份验证模块,用于接收访问者发送的读写信号,对访问者身份进行验证,其中读写信号包括访问者的地址、读使能信号以及写使能信号;
27、efuse时序配置模块,用于在身份验证通过时,按照设定的efuse读写时序要求,通过接收的读写信号对efuse存储体进行协议解析;
28、地址检查模块,用于在读写过程中,对访问者的地址进行解析,并根据访问者的地址、读使能信号以及写使能信号,对输出至efuse存储体的读写信号进行控制。
29、第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于:该程序被处理器执行时实现前述任一项所述方法的步骤。
30、第四方面,本发明提供一种计算机装置/设备/系统,其特征在于,包括:
31、存储器,用于存储计算机程序/指令;
32、处理器,用于执行所述计算机程序/指令以实现前述任一项所述方法的步骤。
33、与现有技术相比,本发明所达到的有益效果:
34、(1) 通过身份鉴权、地址检查、生命周期管理三套权限管控措施,真正实现在对efuse读写访问安全能力的提升,可以防护因不明身份恶意攻击、操作人员误操作、芯片流转至不同阶段使用者手中导致越权访问的问题。
35、(2) 对于不同信号脉冲保持时间,可通过参数化配置灵活设定,简化控制逻辑。
36、(3) 支持不同粒度数据访问,在系统级访问时,可大大简化软件对efuse访问的数据格式要求。
37、(4) 对数据写入读出的正确性的提升巨大。可及时发现当前读\写操作是否执行正确。