CN118171262A - 用于安全启动的镜像数据组织方法及装置、电子设备 - Google Patents

用于安全启动的镜像数据组织方法及装置、电子设备 Download PDF

Info

Publication number
CN118171262A
CN118171262A CN202410362459.XA CN202410362459A CN118171262A CN 118171262 A CN118171262 A CN 118171262A CN 202410362459 A CN202410362459 A CN 202410362459A CN 118171262 A CN118171262 A CN 118171262A
Authority
CN
China
Prior art keywords
certificate
executable program
mirror image
head
content
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
CN202410362459.XA
Other languages
English (en)
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.)
RDA Microelectronics Beijing Co Ltd
Original Assignee
RDA Microelectronics Beijing Co Ltd
Filing date
Publication date
Application filed by RDA Microelectronics Beijing Co Ltd filed Critical RDA Microelectronics Beijing Co Ltd
Publication of CN118171262A publication Critical patent/CN118171262A/zh
Pending legal-status Critical Current

Links

Abstract

本发明提供一种用于安全启动的镜像数据组织方法及装置、电子设备、计算机存储介质和芯片模组,包括:将可执行程序镜像存储,其中,所述可执行程序的用于安全启动的证书位置信息存储在镜像头中;对镜像头进行校验以确认镜像头中的内容是否完整;对证书进行逐一验证以判断可执行程序是否合法;安全启动合法的可执行程序。通过镜像存储并对镜像中的可执行程序进行验证,使得原可执行程序不会因读写而被篡改,提高了数据安全性;由于证书位置信息存放于镜像头,从而能通过镜像头关联到证书,使得证书可灵活放置且高度关联可访问,提高了安全启动程序的通用性和可扩展性,解决了如何在提高数据安全性的同时提高安全启动程序的通用性和可扩展性的问题。

Description

用于安全启动的镜像数据组织方法及装置、电子设备
技术领域
本发明涉及数据处理技术领域,特别涉及一种用于安全启动的镜像数据组织方法及装置、电子设备、计算机存储介质和芯片模组。
背景技术
随着计算机技术的发展,人们可以利用各类软件、系统来实现数据的交互。然而,在实际应用场景中往往受硬件安全特性的限制,致使在数据交互过程中很容易被恶意攻击,从而导致数据被窃取或篡改,进而引发更严重的后果。因此数据安全尤为重要。
为了保证数据的安全,通常会使软件、系统具有安全启动功能,从而确保只有受信任的软件才能在系统上执行。早先,可执行程序中,用于安全启动的证书和信息存储于同一存储器中,而这种方式对于证书和信息由相同的读取和改写的权限,不利于数据安全,且这种方式也无法满足不同用户身份访问不同内容的需求。为了提高数据的安全性,目前,可执行程序中,用于判断该程序是否合法的相关证书和信息一般分别存储在存储器中,但由于没有统一的组织形式,使得在这种方式下,编写标准化的安全启动程序时流程难于维护,且通用性和可扩展性较差。
发明内容
本发明的目的在于提供一种用于安全启动的镜像数据组织方法及装置、电子设备、计算机存储介质和芯片模组,以至少解决如何在提高数据安全性的同时提高安全启动程序的通用性和可扩展性的问题。
为解决上述技术问题,本发明提供一种用于安全启动的镜像数据组织方法,包括:
将可执行程序镜像存储,其中,所述可执行程序的用于安全启动的证书位置信息存储在镜像头中;
对镜像头进行校验,以确认镜像头中的内容是否完整;
若镜像头中的内容完整,则对证书进行逐一验证,以判断可执行程序是否合法;
若判断可执行程序合法,则安全启动该可执行程序。
可选的,在所述的用于安全启动的镜像数据组织方法中,所述镜像头中存储有镜像格式版本、镜像版本、镜像头的大小、镜像头标志字、可执行程序的内容偏移地址和内容标志字、证书的偏移地址和大小。
可选的,在所述的用于安全启动的镜像数据组织方法中,所述对证书进行逐一验证的方法包括:
按照证书的偏移地址和大小,获取证书的证书头和证书内容;
计算证书内容的摘要;
利用证书头中的公钥和签名对证书内容进行签名验证;
若签名验证通过,则计算镜像内可执行程序的摘要;
将可执行程序的摘要与证书内容的摘要进行对比,以判断可执行程序是否合法。
可选的,在所述的用于安全启动的镜像数据组织方法中,在获取证书的证书头和证书内容之前,所述对证书进行逐一验证的方法还包括:
判断证书的偏移地址和大小的值是否非0,若值非0,则该证书存在。
可选的,在所述的用于安全启动的镜像数据组织方法中,所述对证书进行逐一验证的方法还包括:
若证书的存储位置发生变化,则相应的更改镜像头中证书的偏移地址和大小,并重新计算镜像头的CRC校验值。
可选的,在所述的用于安全启动的镜像数据组织方法中,所述证书头包括公钥、签名、证书类型、公钥算法类型、摘要算法类型和证书内容大小;利用摘要算法类型计算证书内容的摘要。
可选的,在所述的用于安全启动的镜像数据组织方法中,所述对证书进行逐一验证的方法还包括:
计算证书内容的安全版本;
判断安全版本是否为最新版本,若是,则判断可执行程序合法。
为解决上述技术问题,本发明还提供一种用于安全启动的镜像数据组织装置,用于实现如上任一项所述的用于安全启动的镜像数据组织方法,所述用于安全启动的镜像数据组织装置包括:
镜像存储模块,用于将可执行程序镜像存储;
校验验证模块,用于对镜像头和证书进行验证,以判断可执行程序是否合法;
安全启动模块,用于在判断可执行程序合法后,安全启动该可执行程序。
为解决上述技术问题,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序;所述处理器运行所述可执行程序时执行如上任一项所述的用于安全启动的镜像数据组织方法。
为解决上述技术问题,本发明还提供一种计算机存储介质,所述计算机存储介质存储有可执行程序;所述可执行程序被执行时,实现如上任一项所述的用于安全启动的镜像数据组织方法。
为解决上述技术问题,本发明还提供一种芯片或芯片模组,所述芯片或所述芯片模组与存储器耦合,用于执行所述存储器中存储的计算机程序,以执行如上任一项所述的用于安全启动的镜像数据组织方法。
本发明提供的用于安全启动的镜像数据组织方法及装置、电子设备、计算机存储介质和芯片模组,包括:将可执行程序镜像存储,其中,所述可执行程序的用于安全启动的证书位置信息存储在镜像头中;对镜像头进行校验,以确认镜像头中的内容是否完整;若镜像头中的内容完整,则对证书进行逐一验证,以判断可执行程序是否合法;若判断可执行程序合法,则安全启动该可执行程序。通过镜像存储并对镜像中的可执行程序进行验证,使得原可执行程序不会因读写而被篡改,提高了数据安全性;同时,由于用于安全启动的证书位置信息等存放在镜像头中,从而能够通过镜像头关联到证书,进而使得证书可以灵活放置且高度关联可访问,提高了安全启动程序的通用性和可扩展性,解决了如何在提高数据安全性的同时提高安全启动程序的通用性和可扩展性的问题。
附图说明
图1为本实施例提供的用于安全启动的镜像数据组织方法的流程图;
图2为本实施例提供的用于安全启动的镜像数据组织装置的结构示意图;
图3为本实施例提供的用于安全启动的镜像数据组织装置的实现方案设计图。
具体实施方式
以下结合附图和具体实施例对本发明提出的用于安全启动的镜像数据组织方法及装置、电子设备、计算机存储介质和芯片模组作进一步详细说明。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。
需要说明的是,本发明的说明书和权利要求书及附图说明中的“第一”、“第二”等是用于区别类似的对象,以便描述本发明的实施例,而不用于描述特定的顺序或先后次序,应该理解这样使用的结构在适当情况下可以互换。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本实施例提供一种用于安全启动的镜像数据组织方法,如图1所示,包括:
S1,将可执行程序镜像存储,其中,所述可执行程序的用于安全启动的证书位置信息存储在镜像头中;
S2,对镜像头进行校验,以确认镜像头中的内容是否完整;
S3,若镜像头中的内容完整,则对证书进行逐一验证,以判断可执行程序是否合法;
S4,若判断可执行程序合法,则安全启动该可执行程序。
本发明提供的用于安全启动的镜像数据组织方法,通过镜像存储并对镜像中的可执行程序进行验证,使得原可执行程序不会因读写而被篡改,提高了数据安全性;同时,由于用于安全启动的证书位置信息等存放在镜像头中,从而能够通过镜像头关联到证书,进而使得证书可以灵活放置且高度关联可访问,提高了安全启动程序的通用性和可扩展性,解决了如何在提高数据安全性的同时提高安全启动程序的通用性和可扩展性的问题。
具体的,在本实施例中,步骤S1,将可执行程序镜像存储。其中,镜像存储一般包括镜像头和镜像体,镜像头存放有所述可执行程序的用于安全启动的证书位置等信息,镜像体至少存放有要执行的程序。镜像存储可以以二进制数据的形式存储在存储器中,也可以以文件形式保存在文件系统所在的存储器中。镜像存储的具体实现方式为本领域技术人员所熟知的,本申请对此不再赘述,重点说明本申请在镜像存储中做出的额外设计。
进一步的,在本实施中,所述镜像头中存储的证书位置等信息具体包括:镜像格式版本、镜像版本、镜像头的大小、镜像头标志字、可执行程序的内容偏移地址和内容标志字、证书的偏移地址和大小。
具体的,在实际应用过程中,镜像头中各个组成部分的大小可以为32位,当然,也可以根据实际需求合理调整大小。其中,镜像格式版本是用于将来做扩展时兼容不同格式的镜像;镜像头标志字具体还可以包括校验算法种类等内容;内容标志字具体还可以包括内容是否加密,以及加密算法等内容;各个证书有其各自的偏移地址和大小。
进一步的,在本实施例中,步骤S2,对镜像头进行校验,以确认镜像头中的内容是否完整的方法主要包括:对上述镜像头中应当具有的组成部分进行校验,判断镜像头中是否都具备这些组成部分,从而能够确认镜像头中的内容是否完整。以二进制为例,若每一存储位上存储有数据,则可以认为该存储位所对应的镜像头的组成部分是完整的,否则为缺失。
再进一步的,在本实施例中,只有镜像头中的内容完整,才会进入证书验证的步骤。具体的,步骤S3,对证书进行逐一验证,以判断可执行程序是否合法的方法包括:
S31,按照证书的偏移地址和大小,获取证书的证书头和证书内容。
具体的,证书包括证书头和证书体,其中证书头包括公钥、签名、证书类型、公钥算法类型、摘要算法类型和证书内容大小等内容,证书体存放有证书内容。通过将证书头设计为统一格式,能够有效组织信息,使得在判断各种证书时易于实现,以便于安全启动程序的维护。
在实际应用过程中,证书头中各个组成部分的大小可以根据具体选用的公钥算法和位数进行合理设定,例如,当公钥或签名是ecc、RSA、SM2等算法的公钥数据或签名数据的联合体时,实际可以采用占用空间最多的算法所对应的公钥数据或签名数据的大小来设置证书头该组成部分的大小。
S32,计算证书内容的摘要。
具体的,在本实施例中,可以利用证书头中存储的摘要算法类型计算证书内容的摘要。根据摘要算法类型计算证书内容的摘要的方法是本领域技术人员所熟知的,本申请对此不再赘述。
S33,利用证书头中的公钥和签名对证书内容进行签名验证。
其中,进行签名验证的包括证书头和证书体。签名验证的具体实现方法是本领域技术人员可以根据证书的类别而进行选择的,本申请对此不再赘述。
S34,若签名验证通过,则计算镜像内可执行程序的摘要。
具体的,若签名验证通过,则意味着该证书是可信的,进而就可以利用证书体中的内容执行后续功能。例如,当证书是代码校验证书时,证书体中保存了镜像内可执行程序的摘要,因此,当签名验证通过后,需要利用摘要算法类型来计算提取出镜像内可执行程序的摘要。
S35,将可执行程序的摘要与证书内容的摘要进行对比,以判断可执行程序是否合法。
较佳的,在本实施例中,步骤S3,对证书进行逐一验证的方法还包括:
S36,计算证书内容的安全版本。
具体的,证书体中不仅保存有镜像内可执行程序的摘要,还保存有安全版本,因此,当签名验证通过后,需要利用摘要算法类型来计算提取出安全版本。
S37,判断安全版本是否为最新版本,若是,则判断可执行程序合法。
如此,通过判断安全版本是否为最新版本就可以防止错误运行了旧版本的可执行程序,提高了程序运行的可靠性和安全性。
在实际应用过程中,在步骤S31,按照证书的偏移地址和大小,获取证书的证书头和证书内容之前,步骤S3,对证书进行逐一验证的方法还包括:
S30,判断证书的偏移地址和大小的值是否非0,若值非0,则该证书存在。
如此,可以确保能够从镜像头中关联到证书内容,且证书可以灵活存放在镜像头的任意位置,且高度关联可访问,提高了安全启动程序的通用性和可扩展性。
若证书的存储位置发生变化,则只需相应的更改镜像头中证书的偏移地址和大小,并重新计算镜像头的CRC校验值,便可以保证包含了证书的整个镜像的高度关联性。
进一步的,在本实施例中,步骤S4,若判断可执行程序合法,则安全启动该可执行程序。
具体的,可以编写一套安全启动程序用于对可执行程序进行校验和验证,并在判断可执行程序合法后,启动该可执行程序。相较于现有的安全启动程序,本实施例所用的安全启动程序能够根据镜像头中证书的偏移地址和大小对证书进行验证,从而提高了安全启动程序的通用性和可扩展性,降低了安全启动程序的后期维护成本。
本实施例提供的用于安全启动的镜像数据组织方法,安全启动程序可以灵活复用于多种证书、多种算法,并且可以适用于多种证书和多种算法的各种组合。同时,由于安全启动程序往往运行在不可更改的ROM存储器中,使用本实施例提供的用于安全启动的镜像数据组织方法,能够增加后续安全启动方案选择的灵活性。此外,由于本实施例提供的用于安全启动的镜像数据组织方法的验证程序能够根据证书的位置灵活调整,从而具备一定的通用性,在多款芯片中可以有效复用,降低了开发成本。
本实施例还提供一种用于安全启动的镜像数据组织装置,用于实现如上所述的用于安全启动的镜像数据组织方法,如图2所示,所述用于安全启动的镜像数据组织装置包括:镜像存储模块,用于将可执行程序镜像存储;校验验证模块,用于对镜像头和证书进行验证,以判断可执行程序是否合法;安全启动模块,用于在判断可执行程序合法后,安全启动该可执行程序。
在一具体实施例中,如图3所示,用于安全启动的镜像数据组织装置具体可以包括主控单元、副控单元、存储器1和存储器2;其中,主控单元能够对存储器1中存储的数据进行读写,对存储器2中的数据只能进行读取;副控单元能够对存储器2中的数据进行读写。在应用过程中,可执行程序的证书等敏感数据可以存储在存储器2中,从而保证敏感数据的安全性;在存储器1中可以存放可执行程序的镜像,以及各种证书的偏移地址和大小,从而便于主控单元进行校验和验证;存储器1和存储器2可以通过统一的地址域中的不同地址段进行访问,从而将存储器1和存储器2高度关联起来形成一个整体;副控单元作为对外接口,能够实现身份验证等鉴权逻辑,通过验证后能够通过副控单元将敏感数据写入存储器2中,从而能够在满足不同用户的不同访问需求的同时,保证敏感数据的安全。
如此,主控单元从存储器1中读取可执行程序的镜像文件和各种证书的偏移地址和大小,从而间接访问存储器2中的证书信息,不仅能够使分散的证书信息和可执行程序等能够作为一个整体进行访问,还能够保证存储器2中敏感数据的安全性,解决了如何在提高数据安全性的同时提高安全启动程序的通用性和可扩展性的问题。
以及,本实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序;所述处理器运行所述可执行程序时执行如上所述的用于安全启动的镜像数据组织方法。
以及,本实施例还提供一种计算机存储介质,所述计算机存储介质存储有可执行程序;所述可执行程序被执行时,实现如上所述的用于安全启动的镜像数据组织方法。
以及,本实施例还提供一种芯片或芯片模组,所述芯片或所述芯片模组与存储器耦合,用于执行所述存储器中存储的计算机程序,以执行如上所述的用于安全启动的镜像数据组织方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可,此外,各个实施例之间不同的部分也可互相组合使用,本发明对此不作限定。
本实施例提供的用于安全启动的镜像数据组织方法及装置、电子设备、计算机存储介质和芯片模组,包括:将可执行程序镜像存储,其中,所述可执行程序的用于安全启动的证书位置信息存储在镜像头中;对镜像头进行校验,以确认镜像头中的内容是否完整;若镜像头中的内容完整,则对证书进行逐一验证,以判断可执行程序是否合法;若判断可执行程序合法,则安全启动该可执行程序。通过镜像存储并对镜像中的可执行程序进行验证,使得原可执行程序不会因读写而被篡改,提高了数据安全性;同时,由于用于安全启动的证书位置信息等存放在镜像头中,从而能够通过镜像头关联到证书,进而使得证书可以灵活放置且高度关联可访问,提高了安全启动程序的通用性和可扩展性,解决了如何在提高数据安全性的同时提高安全启动程序的通用性和可扩展性的问题。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

Claims (11)

1.一种用于安全启动的镜像数据组织方法,其特征在于,包括:
将可执行程序镜像存储,其中,所述可执行程序的用于安全启动的证书位置信息存储在镜像头中;
对镜像头进行校验,以确认镜像头中的内容是否完整;
若镜像头中的内容完整,则对证书进行逐一验证,以判断可执行程序是否合法;
若判断可执行程序合法,则安全启动该可执行程序。
2.根据权利要求1所述的用于安全启动的镜像数据组织方法,其特征在于,所述镜像头中存储有镜像格式版本、镜像版本、镜像头的大小、镜像头标志字、可执行程序的内容偏移地址和内容标志字、证书的偏移地址和大小。
3.根据权利要求2所述的用于安全启动的镜像数据组织方法,其特征在于,所述对证书进行逐一验证的方法包括:
按照证书的偏移地址和大小,获取证书的证书头和证书内容;
计算证书内容的摘要;
利用证书头中的公钥和签名对证书内容进行签名验证;
若签名验证通过,则计算镜像内可执行程序的摘要;
将可执行程序的摘要与证书内容的摘要进行对比,以判断可执行程序是否合法。
4.根据权利要求3所述的用于安全启动的镜像数据组织方法,其特征在于,在获取证书的证书头和证书内容之前,所述对证书进行逐一验证的方法还包括:
判断证书的偏移地址和大小的值是否非0,若值非0,则该证书存在。
5.根据权利要求3所述的用于安全启动的镜像数据组织方法,其特征在于,所述对证书进行逐一验证的方法还包括:
若证书的存储位置发生变化,则相应的更改镜像头中证书的偏移地址和大小,并重新计算镜像头的CRC校验值。
6.根据权利要求3所述的用于安全启动的镜像数据组织方法,其特征在于,所述证书头包括公钥、签名、证书类型、公钥算法类型、摘要算法类型和证书内容大小;利用摘要算法类型计算证书内容的摘要。
7.根据权利要求3所述的用于安全启动的镜像数据组织方法,其特征在于,所述对证书进行逐一验证的方法还包括:
计算证书内容的安全版本;
判断安全版本是否为最新版本,若是,则判断可执行程序合法。
8.一种用于安全启动的镜像数据组织装置,用于实现如权利要求1~7任一项所述的用于安全启动的镜像数据组织方法,其特征在于,所述用于安全启动的镜像数据组织装置包括:
镜像存储模块,用于将可执行程序镜像存储;
校验验证模块,用于对镜像头和证书进行验证,以判断可执行程序是否合法;
安全启动模块,用于在判断可执行程序合法后,安全启动该可执行程序。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序;所述处理器运行所述可执行程序时执行如权利要求1~7任一项所述的用于安全启动的镜像数据组织方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有可执行程序;所述可执行程序被执行时,实现如权利要求1~7任一项所述的用于安全启动的镜像数据组织方法。
11.一种芯片模组,其特征在于,所述芯片模组与存储器耦合,用于执行所述存储器中存储的计算机程序,以执行如权利要求1~7任一项所述的用于安全启动的镜像数据组织方法。
CN202410362459.XA 2024-03-27 用于安全启动的镜像数据组织方法及装置、电子设备 Pending CN118171262A (zh)

Publications (1)

Publication Number Publication Date
CN118171262A true CN118171262A (zh) 2024-06-11

Family

ID=

Similar Documents

Publication Publication Date Title
JP5175856B2 (ja) セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法
JP5190800B2 (ja) プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム
US7694121B2 (en) System and method for protected operating system boot using state validation
CN109800050B (zh) 一种虚拟机的内存管理方法、装置、相关设备及系统
KR20110098721A (ko) 사용자 신분에 근거하여 파일에 대한 액세스를 제공하기 위한 방법 및 장치
EP1334419B1 (en) System and method for verifying the integrity of stored information within an electronic device
US20080278285A1 (en) Recording device
US9262631B2 (en) Embedded device and control method thereof
KR100619657B1 (ko) 메모리 관리 유닛, 코드 검증 장치 및 코드 복호 장치
US8181006B2 (en) Method and device for securely configuring a terminal by means of a startup external data storage device
US8601282B2 (en) Program and device for using second uncorrupted MBR data stored in an external storage
CN112613011B (zh) U盘系统认证方法、装置、电子设备及存储介质
JPH1139158A (ja) 実行プログラムの保護方法およびその装置
US20170075608A1 (en) Solid state memory unit and method for protecting a memory including verification of a sequence of requests for access to physical blocks
CN115062330B (zh) 基于tpm的智能密码钥匙密码应用接口的实现方法
US11113399B2 (en) Electronic apparatus and control method of electronic apparatus
US11468159B2 (en) Memory system
CN118171262A (zh) 用于安全启动的镜像数据组织方法及装置、电子设备
US10318766B2 (en) Method for the secured recording of data, corresponding device and program
JP4342326B2 (ja) データベース制御装置
JP3123539B2 (ja) 携帯情報端末及び記録媒体
JP2023136601A (ja) ソフトウェア管理装置、ソフトウェア管理方法、及びプログラム
CN116257839A (zh) 升级签名固件的方法、电子设备和存储介质
CN114065218A (zh) 一种SoC系统芯片安全启动方法
JP5942612B2 (ja) 情報記憶装置及びそのアクセス判定方法

Legal Events

Date Code Title Description
PB01 Publication