发明内容
本发明的目的是体用一种适用于电力系统嵌入式设备的信息升级备份方法和系统,通过结合数字签名与数字证书链技术,实现嵌入式设备的信息安全可信升级备份,提升嵌入式设备的整体安全性。
本发明采取的技术方案如下。
一方面,本发明提供一种适用于电力系统嵌入式设备的信息升级备份系统,包括设备配置模块、信息升级模块和信息备份模块;
设备配置模块包括:
根证书配置单元,用于接收外部CA根证书配置信息,并根据所述CA根证书配置信息,对设备进行CA根证书配置;
数字证书配置单元,用于接收外部数字证书配置信息,根据所述数字证书配置信息对设备数字证书进行配置;
信息安全算法配置单元,用于接收外部信息安全算法配置信息,并根据所述信息安全算法配置信息,配置信息升级验证规则和信息备份验证规则;
信息升级模块包括:
升级文件包解析单元,用于解析升级文件包得到数据文件集、数字签名文件和数字证书链文件集;
信息验证单元,用于根据已配置的信息升级验证规则对解析得到的数据文件集、数字签名文件和数字证书链文件集进行信息安全验证;
设备升级单元,用于利用通过信息安全验证的升级文件进行设备升级;
信息备份模块包括:
待备份文件确定单元,用于确定待备份数据文件集中的各文件及其附加安全哈希值;
完整性验证单元,用于根据已配置的信息备份验证规则,对待备份数据文件集中的各文件进行数据完整性验证;
数字签名文件创建单元,用于根据已配置的信息备份验证规则,计算待备份数据文件集的报文摘要,进而基于报文摘要和已配置的设备数字证书,创建数字签名文件;
备份文件打包单元,用于将待备份数据文件集、数字签名文件以及设备数字证书打包成可信备份文件包,进行备份。
可选的,所述数字证书配置信息包括对设备公钥、私钥以及信任链上涉及的其它数字证书的配置信息;
所述信息安全算法配置信息包括数据文件安全哈希算法配置信息、报文摘要算法配置信息、数字签名算法配置信息和签名验证算法配置信息;
所述信息升级验证规则包括数据文件附加安全哈希值验证规则、数字证书合法性验证规则和文件安全可信性验证规则,分别用于对数据文件集中的各文件进行数据完整性验证,进行数字证书合法性验证,和进行文件安全可信性验证。
可选的,所述信息备份验证规则为数据文件附加安全哈希值验证规则,用于对待备份数据文件集中的各文件进行数据完整性验证。
第二方面,本发明提供一种适用于电力系统嵌入式设备的信息升级方法,包括:
接收升级文件包并进行解析,得到数据文件集、数字签名文件和数字证书链文件集;
按照预设的数据文件附加安全哈希值验证规则,对数据文件集中的各文件进行数据完整性验证;
基于数字证书链文件集,按照预设的数字证书合法性验证规则,进行数字证书合法性验证;
基于数字证书链文件集和数字签名文件,计算第一报文摘要;基于数据文件集中文件附加的安全哈希值,计算第二报文摘要;根据第一报文摘要与第二报文摘要是否相同,进行文件安全可信性验证;
响应于数据完整性验证、数字证书合法性验证和文件安全可信性验证三者全部验证通过,则利用当前升级文件包的文件进行设备固件和配置信息的升级。
可选的,所述预设的数据文件附加安全哈希值验证规则为:
利用设备预先配置的安全哈希算法Hfile=Hashfile(Datafile),以数据文件集中各文件的数据内容分别作为输入Datafile,计算各文件的参考安全哈希值H′file=Hashfile(Datafile);
将各文件的参考安全哈希值H′file,与解析得到的相应文件附加的安全哈希值Hfile进行比较,若两者相同,则相应文件通过数据完整性验证。
可选的,所述预设的数字证书合法性验证规则为:
从数字签名文件中获取公钥数字证书;
根据公钥数字证书的颁发者信息查找CA根证书,判断当前设备是否支持该CA根证书;若支持,则通过上级证书公钥验证下级证书数字签名的方式逐级验证数字证书链各级根证书的合法性;若最终公钥数字证书通过合法性验证,为有效数字证书。
可选的,文件安全可信性验证包括:
从数字证书链文件集中的公钥数字证书文件获取公钥PublicKey;
从数字签名文件中获取数据文件集的签名值Signature;
按照设备预先配置的签名验证算法H′=D(PublicKey,Signature),计算第一报文摘要H′;
根据数据文件集中文件附加的安全哈希值,按照设备预先配置的报文摘要算法 H=Hashdigest(Data),计算第二报文摘要H,其中Data=HApp1|…|HAppn|HConf1|…|HConfm,为顺序排列的数据文件集中文件的附加安全哈希值,HApp1、HAppn、HConf1、HConfm分别表示数据文件集中,第1个可执行文件、第n个可执行文件、第1个配置文件、第m个配置文件的安全哈希值;
比较数据文件集的第一报文摘要与第二报文摘要,若H′≡H,则通过文件安全可信性验证。
可选的,为了提高信息升级安全可信性验证效率,升级方法中:仅在数据文件集通过数据完整性验证后进行数字证书合法性验证;仅在通过数字证书合法性验证后进行文件安全可信性验证;若文件安全可信性验证通过,则数据文件集中的所有文件安全可信,能够利用当前升级文件包的文件进行设备固件和配置信息的升级。
第三方面,本发明提供一种适用于电力系统嵌入式设备的信息备份方法,包括:
确定待备份数据文件集中的各文件及其附加安全哈希值;
利用预设的数据文件附加安全哈希值验证规则,对待备份数据文件集中的各文件进行数据完整性验证;
利用预设的报文摘要算法计算待备份数据文件集的报文摘要;
基于报文摘要和设备私钥,利用预设的数字签名算法创建数字签名文件;
将待备份数据文件集、数字签名文件以及设备预先配置的数字证书打包成可信备份文件包,进行备份。
可选的,预设的数据文件附加安全哈希值验证规则为包括:
以数据文件集中单个数据文件的数据内容Datafile为输入,计算安全哈希值 H″file=Hashfile(Datafile),并与相应文件的附加安全哈希值Hfile做比较,若H″file≡Hfile,则该文件通过完整性验证。
可选的,预设的报文摘要算法为H=Hashdigest(Data);
计算待备份数据文件集的报文摘要包括:
顺序排列待备份数据文件集中各文件的安全哈希值,构建安全哈希字符串 Data=HApp1|…|HAppn|HConf1|…|HConfm;其中HApp1、HAppn、HConf1、HConfm分别表示待备份文件中,第 1个可执行文件、第n个可执行文件、第1个配置文件、第m个配置文件的安全哈希值;
将安全哈希字符串作为报文摘要算法的输入,计算得到待备份文件集的报文摘要为:
H=Hashdigest(HApp1|…|HAppn|HConf1|…|HConfm)。
可选的,预设的数字签名算法为Signature=E(PrivateKey,H),Signature、PrivateKey、H 分别代表签名值、私钥和报文摘要;
根据待备份文件集的报文摘要和预先配置的设备私钥,计算签名值,以签名值作为数据内容,创建数字签名文件。
有益效果
本发明的系统和方法,通过在嵌入式设备预配置数字证书和相关验证算法,并在信息升级和信息备份过程中相应的设置文件完整性验证过程,通过对数据文件集中文件附加安全哈希值的方式,提升了文件完整性检查功能;通过在升级备份包中增加数字签名文件与信任链数字证书的方式,并相应的在信息升级时进行数字证书合法性验证,实现了对升级备份文件的可信认证功能。还通过文件的附件哈希值构建安全哈希字符串方式,简化了数据文件集的数字签名计算过程,提升了计算效率。
简言之,本发明通过应用数字签名与数字证书链技术,实现了一种不依赖通信协议,支持对嵌入式设备升级备份信息进行可信认证的通用方法,能够增强嵌入式设备信息升级与存储的安全性,具有安全可靠、使用简单的特点。
具体实施方式
以下结合附图和具体实施例进一步描述。
本发明的发明构思为:通过对设备进行信息安全相关配置,并在设备信息备份与设备信息升级的过程中执行对应的信息安全可信验证算法,实现对升级备份文件的完整性和安全可信认证。
实施例1
本实施例为一种适用于电力系统嵌入式设备的信息升级备份系统,包括设备配置模块、信息升级模块和信息备份模块;
设备配置模块包括:
根证书配置单元,用于接收外部CA根证书配置信息,并根据所述CA根证书配置信息,对设备进行CA根证书配置;
数字证书配置单元,用于接收外部数字证书配置信息,根据所述数字证书配置信息对设备数字证书进行配置;
信息安全算法配置单元,用于接收外部信息安全算法配置信息,并根据所述信息安全算法配置信息,配置信息升级验证规则和信息备份验证规则;
信息升级模块包括:
升级文件包解析单元,用于解析升级文件包得到数据文件集、数字签名文件和数字证书链文件集;
信息验证单元,用于根据已配置的信息升级验证规则对解析得到的数据文件集、数字签名文件和数字证书链文件集进行信息安全验证;
设备升级单元,用于利用通过信息安全验证的升级文件进行设备升级;
信息备份模块包括:
待备份文件确定单元,用于确定待备份数据文件集中的各文件及其附加安全哈希值;
完整性验证单元,用于根据已配置的信息备份验证规则,对待备份数据文件集中的各文件进行数据完整性验证;
数字签名文件创建单元,用于根据已配置的信息安全算法配置,计算待备份数据文件集的报文摘要,进而基于报文摘要和已配置的设备数字证书,创建数字签名文件;
备份文件打包单元,用于将待备份数据文件集、数字签名文件以及设备数字证书打包成可信备份文件包,进行备份。
本实施例在应用时,约定文件附加安全哈希值与报文摘要算法采用相同的安全哈希算法 SHA-256;文件的数据内容标识为Datafile,计算文件附加的安全哈希值标识为Hfile=SHA256(Datafile);计算报文摘要标识为H=SHA256(Data)。约定数字签名算法为RSA签名算法,密钥长度2048bit,数字签名过程标志为Signature=RSA2048(PrivateKey,H),验证签名过程标志为H=RSA2048(PublicKeySignature);其中{PrivateKey,PublicKey,Signature,H}分别为RSA数字签名与验证签名所对应的私钥、公钥、签名值与报文摘要。约定升级备份文件包的公钥数字证书为二级根证书颁发,所以数字证书链文件集包含公钥数字证书文件和二级根证书。
以下具体说明本实施例系统的工作过程:
一、在嵌入式设备正式应用前,首先对嵌入式设备进行配置:1)设备支持的CA根证书或CA根证书列表;2)设备进行RSA签名的私钥和公钥数字证书,以及签发公钥数字证书的二级根证书。
二、嵌入式设备对固件、配置文件升级信息的可信性、完整性验证过程为:
嵌入式设备对接收到的升级文件包进行解包,分别获取数据文件集,数字签名文件、数字证书链文件集;
根据数据文件集中文件附加的安全哈希值,验证数据文件集中各文件的数据完整性,具体为:以单个文件的数据内容Datafile为输入,计算安全哈希值H′file=SHA256(Datafile),并与文件附加的安全哈希值Hfile做比较;若H′file≡Hfile,则该文件通过完整性验证;若数据文件集中所有文件都通过完整性验证,则判定验证通过;否则,判定验证失败;
数据文件集中文件通过完整性验证后,验证公钥数字证书的合法性,具体为:获取公钥数字证书及信任链上的二级根证书,并根据证书颁布者信息确认CA根证书;若设备支持该 CA根证书,则以CA根证书验证过二级根证书数字签名的合法性;若二级根证书验证通过,则以二级根证书验证公钥数字证书的数字签名的合法性;若设备支持该CA根证书,并且公钥数字证书通过了合法性验证,则判定数字证书有效;否则,判定验证失败;
公钥数字证书通过合法性验证后,根据数字签名计算出数据文件集的第一报文摘要H′,具体为:从公钥数字证书文件获取RSA签名验证公钥PublicKey;从数字签名文件获取数据文件集的签名值Signature;通过RSA签名验证算法计算第一报文摘要,标识为 H′=RSA2048(PublicKeySignature);
根据数据文件集中文件附加的安全还限制,计算数据文件集的第二报文摘要H,具体为:顺序排列数据文件集中文件的附加安全哈希值,构建安全哈希字符串 Data=HApp1|…|HAppn|HConf1|…|HConfm;并以该字符串为输入,用报文摘要算法计算第二报文摘要,标识为H=SHA256(Data);
比较数据文件集的第一报文摘要与第二报文摘要;若H′≡H,则判定数据文件集中所有文件安全可信;否则,丢弃并告警。
三、嵌入式设备对固件、配置信息进行完整性检查与可信备份的过程为:
根据待备份文件的附加安全哈希值,验证待备份文件集中各文件的数据完整性,具体为:以单个文件的数据内容Datafile为输入,计算安全哈希值H″file=SHA256(Datafile),并与文件的附加安全哈希值Hfile做比较;若H″file≡Hfile,则该文件通过完整性验证;若所有待备份文件都通过完整性验证,则判定验证通过;否则,判定验证失败;
待备份文件集通过完整性验证后,根据待备份文件集中文件的安全哈希值,计算待备份文件集的报文摘要,具体为顺序排列待备份文件集中文件的安全哈希值,构建安全哈希字符串Data=HApp1|…|HAppn|HConf1|…|HConfm;以该字符串为输入,以报文摘要算法计算待备份文件集的报文摘要,标识为H=SHA256(Data);
计算待备份文件集的数字签名并创建数字签名文件,具体为:以报文摘要H及嵌入式设备的私钥PrivateKey为输入,计算待备份文件集的数字签名值Signature=RSA2048(PrivateKey,H),并以签名值Signature为数据内容,创建数字签名文件;
生成可信备份包并进行备份,具体为:将待备份文件组成的数据文件集、存储签名值 Signature的数字签名文件、嵌入式设备预配置的公钥数字证书及二级根证书打包成可信备份文件包;该文件包可通过工具导出,并进行远端备份。
实施例2
本实施例为一种适用于电力系统嵌入式设备的信息升级方法,可应用为实施例1系统中的信息升级模块工作过程,或者单独应用于嵌入式设备的信息升级。
方法包括:
接收升级文件包并进行解析,得到数据文件集、数字签名文件和数字证书链文件集;
按照预设的数据文件附加安全哈希值验证规则,对数据文件集中的各文件进行数据完整性验证;
基于数字证书链文件集,按照预设的数字证书合法性验证规则,进行数字证书合法性验证;
基于数字证书链文件集和数字签名文件,计算第一报文摘要;基于数据文件集中文件附加的安全哈希值,计算第二报文摘要;根据第一报文摘要与第二报文摘要是否相同,进行文件安全可信性验证;
响应于数据完整性验证、数字证书合法性验证和文件安全可信性验证三者全部验证通过,则利用当前升级文件包的文件进行设备固件和配置信息的升级。
可选的,所述预设的数据文件附加安全哈希值验证规则为:
利用设备预先配置的安全哈希算法Hfile=Hashfile(Datafile),以数据文件集中各文件的数据内容分别作为输入Datafile,计算各文件的参考安全哈希值H′file=Hashfile(Datafile);
将各文件的参考安全哈希值H′file,与解析得到的相应文件附加的安全哈希值Hfile进行比较,若两者相同,则相应文件通过数据完整性验证。
所述预设的数字证书合法性验证规则为:
从数字签名文件中获取公钥数字证书;
根据公钥数字证书的颁发者信息查找CA根证书,判断当前设备是否支持该CA根证书;若支持,则通过上级证书公钥验证下级证书数字签名的方式逐级验证数字证书链各级根证书的合法性;若最终公钥数字证书通过合法性验证,为有效数字证书。
文件安全可信性验证包括:
从数字证书链文件集中的公钥数字证书文件获取公钥PublicKey;
从数字签名文件中获取数据文件集的签名值Signature;
按照设备预先配置的签名验证算法H′=D(PublicKey,Signature),计算第一报文摘要H′;
根据数据文件集中文件附加的安全哈希值,按照设备预先配置的报文摘要算法 H=Hashdigest(Data),计算第二报文摘要H,其中Data=HApp1|…|HAppn|HConf1|…|HConfm,为顺序排列的数据文件集中文件的附加安全哈希值;
比较数据文件集的第一报文摘要与第二报文摘要,若H′≡H,则通过文件安全可信性验证。
为了提高信息升级安全可信性验证效率,升级方法中:仅在数据文件集通过数据完整性验证后进行数字证书合法性验证;仅在通过数字证书合法性验证后进行文件安全可信性验证;若文件安全可信性验证通过,则数据文件集中的所有文件安全可信,能够利用当前升级文件包的文件进行设备固件和配置信息的升级。
实施例3
本实施例为一种适用于电力系统嵌入式设备的信息备份方法,可应用于实施例1系统中的信息备份模块工作过程,或者单独应用于嵌入式设备的信息备份,或者与实施例2的信息升级过程相配合应用。
方法包括:
确定待备份数据文件集中的各文件及其附加安全哈希值;
利用预设的数据文件附加安全哈希值验证规则,对待备份数据文件集中的各文件进行数据完整性验证;
利用预设的报文摘要算法计算待备份数据文件集的报文摘要;
基于报文摘要和设备私钥,利用预设的数字签名算法创建数字签名文件;
将待备份数据文件集、数字签名文件以及设备预先配置的数字证书打包成可信备份文件包,进行备份。
预设的数据文件附加安全哈希值验证规则为包括:
以数据文件集中单个数据文件的数据内容Datafile为输入,计算安全哈希值 H″file=Hashfile(Datafile),并与相应文件的附加安全哈希值Hfile做比较,若H″file≡Hfile,则该文件通过完整性验证。
预设的报文摘要算法为H=Hashdigest(Data);
计算待备份数据文件集的报文摘要包括:
顺序排列待备份数据文件集中各文件的安全哈希值,构建安全哈希字符串 Data=HApp1|…|HAppn|HConf1|…|HConfm;
将安全哈希字符串作为报文摘要算法的输入,计算得到待备份文件集的报文摘要为:
H=Hashdigest(HApp1|…|HAppn|HConf1|…|HConfm)。
预设的数字签名算法为Signature=E(PrivateKey,H),Signature、PrivateKey、H分别代表签名值、私钥和报文摘要;
根据待备份文件集的报文摘要和预先配置的设备私钥,计算签名值,以签名值作为数据内容,创建数字签名文件。
综上,本发明基于数字签名与数字证书链技术,以文件包方式实现了嵌入式设备信息的升级备份功能;该方法不依赖通信技术,有效提供了嵌入式固件、配置文件升级备份的可信认证,具有安全性高,使用简单的优点,适合电力系统高安全性要求的应用场景。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/ 或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/ 或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。