CN105989306A - 操作***的文件签名方法、文件校验方法及装置 - Google Patents
操作***的文件签名方法、文件校验方法及装置 Download PDFInfo
- Publication number
- CN105989306A CN105989306A CN201510079120.XA CN201510079120A CN105989306A CN 105989306 A CN105989306 A CN 105989306A CN 201510079120 A CN201510079120 A CN 201510079120A CN 105989306 A CN105989306 A CN 105989306A
- Authority
- CN
- China
- Prior art keywords
- file
- cryptographic hash
- image file
- operating system
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种操作***的文件签名方法、文件校验方法及装置。该文件校验方法包括:获取操作***的镜像文件;获取签名策略文件和私钥文件;根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件;获取校签策略文件和公钥文件;根据所述校签策略文件和公钥文件,对所述安全镜像文件进行校验,若符合校验条件,则认为所述操作***的文件安全。本发明只校验校签策略文件记录的文件,提高了校验效率,同时本发明的文件数字签名直接存放在被校验文件的文件属性条目内,***启动后访问文件的同时去读取签名信息,十分方便;本发明既能防止***文件被篡改,同时也可以对单个或者多个文件进行升级。
Description
技术领域
本发明涉及智能设备安全技术领域,尤其涉及一种操作***的文件签名方法、文件校验方法及装置。
背景技术
目前的智能设置操作***,例如安卓***,安全事件层出不穷,其中主要的一个原因就是***的关键文件的内容或者属性发生了被篡改。篡改的手段有两种,一种是运行时篡改,即在运行的操作***上执行破解工具,强行修改内存或者磁盘上的指定文件。另一种是设备的操作***在非运行的情况下进行刷机篡改,直接修改磁盘文件,此时由于设备的操作***并没有正常运行,安全防护能力相对薄弱,给了破解者可乘之机。
现有的磁盘镜像防篡改专利文献包括:《一种数据防篡改的方法及装置》提到了通过操作***内核根据预先保存的安全策略,判断第一应用程序对确定的受保护数据的修改操作是否为合法操作。但是该方法的不足在于,无法校验设备非运行情况下,磁盘或FLASH上的文件镜像被刷写的方式进行篡改。《***启动校验方法、***启动校验装置和终端》、《OPTIMIZED STARTUPVERIFICATION OF FILE SYSTEM INTEGRITY》及《在***引导区实现***文件完整性验证的***》的实现原理决定了他们的校验方法中,校验行为只能发生在设备启动引导时期。《软件的防篡改验证方法及装置》提到了将文件校验值和服务端校验值相比较的校验方法。但是,该方法的不足在于,对网络速度存在依赖,当网络条件不好的情况下,或者当被校验的文件数目巨大,且校验频繁的场景下,该方法的校验效率将十分低下。
《INTELLIGENT MOBILE TERMINAL AND DATA PROCESSINGMETHOD THEREFOR》引入了签名库和过滤模块,对所有处理器访问的文件,都用签名库进行签名核对,签名库存放在隐藏分区内,一旦被访问文件签名不存在或者签名不正确,都通过过滤模块先做CPU对该文件的访问。该发明的不足之处在于存在明显的性能的问题,一般操作***的文件***文件数量非常巨大,如果每个都有一个签名存放在签名库中,将额外消耗较大的空间,而且,对***的每个文件都进行签名校验,会严重拖慢操作***引导启动的速度,降低用户体验。《运行中映像文件验证的方法》提到了将文件镜像通过数字签名后形成一个新的文件镜像,从而可以在设备启动时或者启动后定时去校验文件镜像的数字签名,从而达到防篡改的效果。该发明的不足之处在于,只能对文件镜像整体进行校验,无法对镜像文件的内容有选择的校验,而目前的文件镜像一般都较大,比如几百兆,这样校验效率就很成问题。
发明内容
本发明所要解决的技术问题在于,提供了一种操作***的文件签名方法、文件校验方法及装置,通过签名策略文件和校签策略文件,完成对关键文件校验,避免对全部文件的校验,提高了校验效率。
为了解决上述技术问题,本发明采用如下技术方案:
依据本发明实施例的一个方面,提供了一种操作***的文件签名方法包括:获取操作***的镜像文件;获取签名策略文件和私钥文件;根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件。
可选的,所述获取操作***的镜像文件包括:获取操作***源文件;对操作***源文件进行编译,生成所述镜像文件。
可选的,所述私钥文件为非对称密码私钥文件。
可选的,所述根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件包括:获取所述签名策略文件中的目录;确定所述镜像文件中与所述签名策略文件中的目录对应的镜像文件;对所述镜像文件进行签名和加密处理,得到所述安全镜像文件。
可选的,对所述镜像文件进行签名和加密处理,得到所述安全镜像文件的步骤包括:获取与所述签名策略文件中的目录对应的镜像文件的文件内容对应的第一哈希值;根据所述私钥文件,对所述第一哈希值进行加密,并将加密后的第一哈希值保存至所述镜像文件的文件属性的第一属性条目中;获取与所述签名策略文件中的目录对应的镜像文件的文件属性对应的第二哈希值;根据所述私钥文件,对所述第二哈希值进行加密,并将加密后的所述第二哈希值保存至所述镜像文件的文件属性的第二属性条目中,得到所述安全镜像文件。
可选的,所述文件签名方法还包括:获取与操作***中需要升级的文件对应的更新文件;对所述更新文件进行数字签名,得到一升级包。
可选的,所述对所述更新文件进行数字签名,得到一升级包包括:获取与所述更新文件的文件内容对应的第一哈希值和所述更新文件的文件属性对应的第二哈希值;将所述第一哈希值、第二哈希值、与所述更新文件对应的需要升级的文件的文件名称和文件路径保存至升级信息文件中;获取所述升级信息文件的文件内容对应的哈希值,并根据所述私钥文件将该哈希值加密,将加密结果保存至所述升级信息文件中;将所述更新文件和升级信息文件打包,得到所述升级包。
依据本发明实施例的又一个方面,提供了一种操作***的文件校验方法,包括:获取操作***的镜像文件;获取签名策略文件和私钥文件;根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件;获取校签策略文件和公钥文件;根据所述校签策略文件和公钥文件,对所述安全镜像文件进行校验,若符合校验条件,则认为所述操作***的文件安全。
可选的,所述根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件包括:获取所述签名策略文件中的目录;确定所述镜像文件中与所述签名策略文件中的目录对应的镜像文件;对所述镜像文件进行签名和加密处理,得到所述安全镜像文件。
可选的,对所述镜像文件进行签名和加密处理,得到所述安全镜像文件的步骤包括:获取与所述签名策略文件中的目录对应的镜像文件的文件内容对应的第一哈希值;根据所述私钥文件,对所述第一哈希值进行加密,并将加密后的第一哈希值保存至所述镜像文件的文件属性的第一属性条目中;获取与所述签名策略文件中的目录对应的镜像文件的文件属性对应的第二哈希值;根据所述私钥文件,对所述第二哈希值进行加密,并将加密后的第二哈希值保存至所述镜像文件的文件属性的第二属性条目中,得到所述安全镜像文件。
可选的,所述根据所述校签策略文件和公钥文件,对所述安全镜像文件进行校验,若符合校验条件,则认为所述操作***的文件安全的步骤包括:获取所述校签策略文件中的目录;确定所述安全镜像文件中与所述校签策略文件中的目录对应的安全镜像文件;获取与所述校签策略文件中的目录对应的安全镜像文件的文件属性对应的第二哈希值;根据所述公钥文件,对所述校签策略文件中的目录对应的安全镜像文件的第二属性条目中的第二哈希值进行解密;比较经所述公钥文件解密后的第二哈希值与所述校签策略文件中的目录对应的安全镜像文件的文件属性对应的第二哈希值,若相同,则根据所述公钥文件,对所述校签策略文件中的目录对应的安全镜像文件的第一属性条目中的第一哈希值进行解密;获取与所述校签策略文件中的目录对应的安全镜像文件的文件内容对应的第一哈希值;比较经所述公钥文件解密后的第一哈希值与所述校签策略文件中的目录对应的安全镜像文件的文件内容对应的第一哈希值,若相同,则认为所述操作***的文件安全。
可选的,所述文件校验方法还包括:获取与操作***中需要升级的文件对应的更新文件;对所述更新文件进行数字签名,得到一升级包;对所述升级包进行校验,若符合校验条件,则将需要升级的文件替换为所述升级包中的文件。
可选的,所述对所述更新文件进行数字签名,得到一升级包包括:获取与所述更新文件的文件内容对应的第一哈希值和所述更新文件的文件属性对应的第二哈希值;将所述第一哈希值、第二哈希值、与所述更新文件对应的需要升级的文件的文件名称和文件路径保存至升级信息文件中;获取所述升级信息文件的文件内容对应的哈希值,并根据所述私钥文件将该哈希值加密,将加密结果保存至所述升级信息文件中;将所述更新文件和升级信息文件打包,得到所述升级包。
可选的,所述对所述升级包进行校验,若符合校验条件,则将需要升级的文件替换为所述升级包中的文件包括:获取与所述升级包中的升级信息文件的文件内容对应的哈希值;根据所述公钥文件,对所述升级包中的升级信息文件的文件内容对应的哈希值进行解密;比较经所述公钥文件解密后的哈希值与获取的所述升级信息文件的文件内容对应的哈希值,若相同,根据所述升级包,利用所述升级包中的更新文件替换操作***中与所述更新文件对应的文件,并将所述升级信息文件中的该更新文件的第一哈希值和第二哈希值分别保存至该更新文件的第一属性条目和第二属性条目中。
可选的,所述获取操作***的镜像文件包括:获取操作***源文件;对操作***源文件进行编译,生成所述镜像文件。
依据本发明实施例的又一个方面,提供了一种操作***的文件签名装置,包括:第一获取模块,用于获取操作***的镜像文件;第二获取模块,用于获取签名策略文件和私钥文件;第一签名模块,用于根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件。
依据本发明实施例的又一个方面,提供了一种操作***的文件校验装置,其特征在于,包括:第三获取模块,用于获取操作***的镜像文件;第四获取模块,用于获取签名策略文件和私钥文件;第二签名模块,用于根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件;第五获取模块,用于获取校签策略文件和公钥文件;校签模块,用于根据所述校签策略文件和公钥文件,对所述安全镜像文件进行校验,若符合校验条件,则认为所述操作***的文件安全。
本发明实施例的有益效果至少包括:本发明实施例通过签名策略文件对镜像文件中的关键文件进行签名,避免对全部文件的校验,提高了校验效率;进一步,将文件数字签名直接存放在被校验文件的文件属性条目内,***启动后访问文件的同时去读取签名信息十分方便,节省了一般方法里在校签时去读取额外签名文件的CPU开支,校验效率大大提升;本发明实施例既能防止***文件被篡改,同时也可以对单个或者多个文件进行升级,该升级方式同样经过校验,保证了***升级的安全问题,而且在保证安全的前提下提高了用户的体验,降低了***升级的维护成本。
附图说明
图1表示本发明实施例提供的操作***的文件签名方法示意图;
图2表示本发明实施例提供的操作***的文件校签方法示意图;
图3表示本发明实施例提供的操作***的文件签名方法的实际应用流程图;
图4表示本发明实施例提供的操作***的文件校签方法实际应用流程图;
图5表示本发明实施例提供的操作***的文件校签方法在***升级时的实际应用流程图;
图6表示本发明实施例提供的操作***的文件签名装置示意图;
图7表示本发明实施例提供的操作***的文件校签装置示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
如图1所示,为本发明实施例提供的操作***的文件签名方法示意图,包括以下步骤:
步骤S100、获取操作***的镜像文件。
这里,操作***的镜像文件通过编译服务器编译源文件生成。
步骤S200、获取签名策略文件和私钥文件。
这里,签名策略文件由用户按照指定语法编写,其中,包括需要校验的一系列文件的名称或者特征,对符合签名策略文件中的文件名称或者特征的文件进行签名,私钥文件为非对称密码私钥文件,通过现有技术得到,例如利用openSSL等密码学算法中的RSA 1024算法产生,其中,签名策略文件的目录中包含有自身的文件名。
步骤S300、根据签名策略文件和私钥文件,对镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件。
这里,签名策略文件中的目录中有需要进行数字签名的文件,按该目录对镜像文件进行数字签名,签名的方式是通过计算将该镜像文件的文件内容对应的哈希值,并将该哈希值通过私钥文件加密,将加密后的哈希值保存至该镜像文件的文件属性中,其中,文件属性还包括扩展属性,具体的,在文件属性中创建第一属性条目,来保存加密后的哈希值;计算该镜像文件的所有文件属性对应的哈希值,并将该哈希值通过私钥文件加密,将加密后的哈希值保存至该镜像文件的第二属性条目中,较佳的,第一属性条目和第二属性条目中的哈希值采用不同的私钥文件进行加密。
操作***升级时,为避免文件校验时发生错误,先确定升级前后变化的文件,对与操作***中需要升级的文件对应的更新文件进行数字签名,其中,数字签名的方法与签名策略文件的目录中的文件进行数字签名的方法相同,在此不再赘述。
如图2所示,为本发明实施例提供的操作***的文件校验方法的示意图,包括以下步骤:
步骤S400、获取操作***的镜像文件。
这里,操作***的镜像文件通过编译服务器编译源文件生成。
步骤S500、获取签名策略文件和私钥文件。
这里,签名策略文件由用户按照指定语法编写,其中,包括需要校验的一系列文件的名称或者特征,对符合签名策略文件中的文件名称或者特征的文件进行签名,私钥文件为非对称密码私钥文件,通过现有技术得到,例如利用openSSL等密码学算法中的RSA 1024算法产生,其中,签名策略文件的目录中包含有自身的文件名。
步骤S600、根据签名策略文件和私钥文件,对镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件。
这里,签名策略文件中的目录中有需要进行数字签名的文件,按该目录对镜像文件进行数字签名,签名的方式是通过计算将该镜像文件的文件内容对应的哈希值,并将该哈希值通过私钥文件加密,将加密后的哈希值保存至该镜像文件的文件属性中,其中,文件属性还包括扩展属性,具体的,在文件属性中创建第一属性条目,来保存加密后的哈希值;计算该镜像文件的所有文件属性对应的哈希值,并将该哈希值通过私钥文件加密,将加密后的哈希值保存至该镜像文件的第二属性条目中,较佳的,第一属性条目和第二属性条目中的哈希值采用不同的私钥文件进行加密。
步骤S700、获取校签策略文件和公钥文件。
这里,校签策略文件中的目录与签名策略文件中的目录相同,该公钥文件与上述私钥文件相对应,可以对上述私钥文件加密的哈希值进行解密。
步骤S800、根据校签策略文件和公钥文件,对安全镜像文件进行校验,若符合校验条件,则认为操作***的文件安全。
这里,校签策略文件中的目录中有需要进行校验的文件,按该目录对镜像文件进行数字签名,其中,校签策略文件的目录中包含有自身的文件名,通过以下步骤进行校验:
步骤S810、获取校签策略文件中的目录。
步骤S820、确定安全镜像文件中与校签策略文件中的目录对应的安全镜像文件。
步骤S830、获取与校签策略文件中的目录对应的安全镜像文件的文件属性对应的第二哈希值。
步骤S840、根据公钥文件,对校签策略文件中的目录对应的安全镜像文件的第二属性条目中的第二哈希值进行解密。
步骤S850、比较经公钥文件解密后的第二哈希值与校签策略文件中的目录对应的安全镜像文件的文件属性对应的第二哈希值,若相同,则根据公钥文件,对校签策略文件中的目录对应的安全镜像文件的第一属性条目中的第一哈希值进行解密。
步骤S860、获取与校签策略文件中的目录对应的安全镜像文件的文件内容对应的第一哈希值。
步骤S870、比较经公钥文件解密后的第一哈希值与校签策略文件中的目录对应的安全镜像文件的文件内容对应的第一哈希值,若相同,则认为安全镜像文件安全。
这里,操作***升级时,为避免文件校验时发生错误,先确定升级前后变化的文件,对与操作***中需要升级的文件对应的更新文件进行数字签名,并将签名信息、更新文件的名称和路径保存至升级信息文件中,然后计算升级信息文件的文件内容对应的哈希值,将该哈希值加密并将加密结果同样保存至升级信息文件中,校验时,只需校验升级信息文件是否存在并且是否被篡改,若通过校验,将文件升级以后,根据更新文件的文件名称和路径查询该更新文件的签名信息,将查询得到的签名信息保存至更新文件的文件属性中。本发明实施例既能防止***文件被篡改,同时也可以对单个或者多个文件进行升级,该升级方式同样经过校验,保证了***升级的安全问题。而且在保证安全的前提下提高了用户的体验,降低了***升级的维护成本。
本发明实施例通过签名策略文件对镜像文件中的关键文件进行签名,避免对全部文件的校验,提高了校验效率;进一步,将文件数字签名直接存放在被校验文件的文件属性条目内,***启动后访问文件的同时去读取签名信息十分方便,节省了一般方法里在校签时去读取额外签名文件的CPU开支,校验效率大大提升。
如图3所示,为本发明实施例提供的操作***的文件签名方法的实际应用流程图,包括以下步骤:
步骤301、编译完成的操作***镜像文件交给文件签名及注入工具。具体的,编译服务器完成源码编译,将***文件分区生成ext4格式的system.img镜像文件,文件签名及注入工具是一个可执行程序,负责扫描操作***镜像文件里的所有文件名和属性,同时对比签名策略文件里的签名条件,将符合条件的文件进行数字签名。
步骤302、文件签名及注入工具挂载该镜像文件,用户按照自身的要求,创建签名策略文件和非对称密码的私钥文件,并交给文件签名及注入工具。具体的,签名策略文件包括用户名为root的所有文件,非对称密码的私钥文件是运行编译服务器上的openssl公共方法生成一组非对称密码的公私钥对,加密算法采用RSA 1024。
步骤303、文件签名及注入工具依次扫描分析挂在后的镜像文件里的文件内容。
步骤304、文件名或者属性是否符合签名策略文件描述的条件。
步骤305、忽略不做处理继续扫描下一个文件。
步骤306、计算文件内容的哈希值并用私钥加密,加密结果写入文件对应属性节点的第一属性条目内。
步骤307、计算包括第一属性条目在内的所有属性的哈希值,用私钥加密,加密结果写入文件对应属性节点的第二属性条目内。
步骤308、文件扫描完毕后,对签名策略文件也进行数字签名并保存在文件属性条目中。
步骤309、撤销镜像文件的挂载,原操作***的镜像文件已被签名注入转换为安全镜像文件。
如图4所示,为本发明实施例提供的操作***的文件校签方法实际应用流程图,包括以下步骤:
步骤401、***上电,设备的固件及引导启动器首先启动,开始引导操作***内核启动。
步骤402、内核启动后首先运行校签执行工具,校签执行工具从内核的只读根分区里获取公钥或数字证书文件和签名策略文件,进行签名策略文件的签名检查。具体的,校签执行工具是一个可执行程序,可以独立运行,存储于***的安全只读分区,通过修改***的init.rc文件,让校签执行工具能在***启动时第一个被执行。
步骤403、签名策略文件自身的签名是否通过。
步骤404、校验失败,内核停止引导,执行事先定义的安全保护行为,例如在用户界面弹出安全警告。
步骤405、操作***内核正常引导运行,挂载签名过的***镜像文件和用户镜像文件,产生经过签名的操作***的***文件分区和经过签名的操作***的用户数据分区。
步骤406、校签执行工具扫描挂载后的***文件和用户数据分区里的所有文件名和文件属性。
步骤407、文件名或者文件属性是否符合校签策略文件里的条件。
步骤408、文件不属于校验范围,忽略,继续扫描下一个文件。
步骤409、采用的第二属性条目保存的数字签名校验其文件信息是否发生篡改;具体的校签执行工具查询待较签文件的文件属性条目,包括可能存在的扩展属性条目,若存在的第二属性条目,则计算除了第二属性条目以外的其他文件属性的总哈希值,与第二属性条目里数字签名经过公钥或数字证书文件解密后的哈希值进行对比,如果不一致则认为文件较签失败;如果一致则继续步骤410。
步骤410、采用的第一属性条目保存的数字签名校验其文件信息是否发生篡改;具体的校签执行工具查询待较签文件的文件属性条目,包括可能存在的扩展属性条目,查询是否存在的第一属性条目,如果存在,则计算该文件的文件内容的总哈希值,与第一属性条目里数字签名经过公钥或数字证书文件解密后的哈希值进行对比,如果不一致则认为文件较签失败;如果一致则认为文件属性信息没有被篡改。
步骤411、启动时文件校验失败,拒绝继续启动执行事先定义的安全保护行为,例如在用户界面弹出安全警告。
步骤412、文件校验通过,***继续引导运行,内核驱动后续每次打开或者运行文件之前,都需进行实时校验。
步骤413、文件实时校验是否通过。
步骤414、执行事先定义的安全保护行为,内核可以拒绝该文件被打开或者执行,也可以选择将校验失败记录在日志中。
步骤415、文件被正常打开或者执行。
如图5所示,为本发明实施例提供的操作***的文件校签方法在***升级时的实际应用流程图,包括以下步骤:
步骤501、对比升级前后存在差异的文件列表交给文件签名及注入工具,依次扫描升级包内所有文件。
步骤502、是否属于需升级和签名的文件。
步骤503、忽略该文件,继续扫描下一个文件。具体的,若用户按需修改***的源代码重新编译,重新编译后的镜像中文件A和文件B都发生了修改,通过步骤501-503可检测出文件A和文件B。
步骤504、文件签名及注入工具参照图3中步骤306和步骤307,对该文件进行数字签名。具体的,对升级包中的文件A和文件B进行数字签名,而非原***中的文件A和文件B。
步骤505、文件签名及注入工具对升级信息文件计算数字摘要并用非对称密码的私钥文件加密生成数字签名信息,将签名信息保存在升级信息文件的末尾,之后将升级信息文件合并到***升级包中重新打包。
步骤506、待升级设备上电,设备的固件及引导启动器首先启动,引导携带操作***升级功能的内核启动。
步骤507、内核读取***升级包,验证升级包完整性,之后从中查找提取升级信息文件,用公钥校验该文件的数字签名。具体的具有升级功能的内核读取***升级包,验证***升级包的完整性,之后从中查找提取升级信息文件,并从升级信息文件内容中获取数字签名信息,采用公钥或数字证书文件对升级信息文件末尾的数字签名进行较签。如果升级信息文件不存在,或者较签不通过,内核都应当终止升级过程,用告警画面提示用户、或采用其他自定义的安全保护行为。
步骤508、升级信息文件是否存在和若存在校验是否通过。
步骤509、内核终止升级过程,执行事先定义的安全保护行为,例如在用户界面弹出安全警告。
步骤510、具有升级功能的内核展开***升级包,实施升级包内文件在待升级设备上的拷贝替换源文件,完成升级操作。
本发明实施例既能防止***文件被篡改,同时也可以对单个或者多个文件进行升级,该升级方式同样经过校验,保证了***升级的安全问题,而且在保证安全的前提下提高了用户的体验,降低了***升级的维护成本。
如图6所示,本发明实施例还提供了一种操作***的文件签名装置示意图,包括:第一获取模块61,用于获取操作***的镜像文件;第二获取模块62,用于获取签名策略文件和私钥文件;第一签名模块63,用于根据签名策略文件和私钥文件,对镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件。
需要说明的是,该装置是与上述操作***的文件签名方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
如图7所示,本发明实施例还提供了一种操作***的文件校签装置示意图,包括:第三获取模块71,用于获取操作***的镜像文件;第四获取模块72,用于获取签名策略文件和私钥文件;第二签名模块73,用于根据签名策略文件和私钥文件,对镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件;第五获取模块74,用于获取校签策略文件和公钥文件;校签模块75,用于根据校签策略文件和公钥文件,对安全镜像文件进行校验,若符合校验条件,则认为操作***的文件安全。
需要说明的是,该装置是与上述操作***的文件签名方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
以上的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (17)
1.一种操作***的文件签名方法,其特征在于,包括:
获取操作***的镜像文件;
获取签名策略文件和私钥文件;
根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件。
2.如权利要求1所述的文件签名方法,其特征在于,所述获取操作***的镜像文件包括:
获取操作***源文件;
对操作***源文件进行编译,生成所述镜像文件。
3.如权利要求1所述的文件签名方法,其特征在于,所述私钥文件为非对称密码私钥文件。
4.如权利要求1所述的文件签名方法,其特征在于,所述根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件包括:
获取所述签名策略文件中的目录;
确定所述镜像文件中与所述签名策略文件中的目录对应的镜像文件;
对所述镜像文件进行签名和加密处理,得到所述安全镜像文件。
5.如权利要求4所述的文件签名方法,其特征在于,对所述镜像文件进行签名和加密处理,得到所述安全镜像文件的步骤包括:
获取与所述签名策略文件中的目录对应的镜像文件的文件内容对应的第一哈希值;
根据所述私钥文件,对所述第一哈希值进行加密,并将加密后的第一哈希值保存至所述镜像文件的文件属性的第一属性条目中;
获取与所述签名策略文件中的目录对应的镜像文件的文件属性对应的第二哈希值;
根据所述私钥文件,对所述第二哈希值进行加密,并将加密后的所述第二哈希值保存至所述镜像文件的文件属性的第二属性条目中,得到所述安全镜像文件。
6.如权利要求1所述的文件签名方法,其特征在于,所述文件签名方法还包括:
获取与操作***中需要升级的文件对应的更新文件;
对所述更新文件进行数字签名,得到一升级包。
7.如权利要求6所述的文件签名方法,其特征在于,所述对所述更新文件进行数字签名,得到一升级包包括:
获取与所述更新文件的文件内容对应的第一哈希值和所述更新文件的文件属性对应的第二哈希值;
将所述第一哈希值、第二哈希值、与所述更新文件对应的需要升级的文件的文件名称和文件路径保存至升级信息文件中;
获取所述升级信息文件的文件内容对应的哈希值,并根据所述私钥文件将该哈希值加密,将加密结果保存至所述升级信息文件中;
将所述更新文件和升级信息文件打包,得到所述升级包。
8.一种操作***的文件校验方法,其特征在于,包括:
获取操作***的镜像文件;
获取签名策略文件和私钥文件;
根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件;
获取校签策略文件和公钥文件;
根据所述校签策略文件和公钥文件,对所述安全镜像文件进行校验,若符合校验条件,则认为所述操作***的文件安全。
9.如权利要求8所述的文件校验方法,其特征在于,所述根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件包括:
获取所述签名策略文件中的目录;
确定所述镜像文件中与所述签名策略文件中的目录对应的镜像文件;
对所述镜像文件进行签名和加密处理,得到所述安全镜像文件。
10.如权利要求9所述的文件校验方法,其特征在于,对所述镜像文件进行签名和加密处理,得到所述安全镜像文件的步骤包括:
获取与所述签名策略文件中的目录对应的镜像文件的文件内容对应的第一哈希值;
根据所述私钥文件,对所述第一哈希值进行加密,并将加密后的第一哈希值保存至所述镜像文件的文件属性的第一属性条目中;
获取与所述签名策略文件中的目录对应的镜像文件的文件属性对应的第二哈希值;
根据所述私钥文件,对所述第二哈希值进行加密,并将加密后的第二哈希值保存至所述镜像文件的文件属性的第二属性条目中,得到所述安全镜像文件。
11.如权利要求10所述的文件校验方法,其特征在于,所述根据所述校签策略文件和公钥文件,对所述安全镜像文件进行校验,若符合校验条件,则认为所述操作***的文件安全的步骤包括:
获取所述校签策略文件中的目录;
确定所述安全镜像文件中与所述校签策略文件中的目录对应的安全镜像文件;
获取与所述校签策略文件中的目录对应的安全镜像文件的文件属性对应的第二哈希值;
根据所述公钥文件,对所述校签策略文件中的目录对应的安全镜像文件的第二属性条目中的第二哈希值进行解密;
比较经所述公钥文件解密后的第二哈希值与所述校签策略文件中的目录对应的安全镜像文件的文件属性对应的第二哈希值,若相同,则根据所述公钥文件,对所述校签策略文件中的目录对应的安全镜像文件的第一属性条目中的第一哈希值进行解密;
获取与所述校签策略文件中的目录对应的安全镜像文件的文件内容对应的第一哈希值;
比较经所述公钥文件解密后的第一哈希值与所述校签策略文件中的目录对应的安全镜像文件的文件内容对应的第一哈希值,若相同,则认为所述操作***的文件安全。
12.如权利要求8所述的文件校验方法,其特征在于,所述文件校验方法还包括:
获取与操作***中需要升级的文件对应的更新文件;
对所述更新文件进行数字签名,得到一升级包;
对所述升级包进行校验,若符合校验条件,则将需要升级的文件替换为所述升级包中的文件。
13.如权利要求12所述的文件校验方法,其特征在于,所述对所述更新文件进行数字签名,得到一升级包包括:
获取与所述更新文件的文件内容对应的第一哈希值和所述更新文件的文件属性对应的第二哈希值;
将所述第一哈希值、第二哈希值、与所述更新文件对应的需要升级的文件的文件名称和文件路径保存至升级信息文件中;
获取所述升级信息文件的文件内容对应的哈希值,并根据所述私钥文件将该哈希值加密,将加密结果保存至所述升级信息文件中;
将所述更新文件和升级信息文件打包,得到所述升级包。
14.如权利要求13所述的文件校验方法,其特征在于,所述对所述升级包进行校验,若符合校验条件,则将需要升级的文件替换为所述升级包中的文件包括:
获取与所述升级包中的升级信息文件的文件内容对应的哈希值;
根据所述公钥文件,对所述升级包中的升级信息文件的文件内容对应的哈希值进行解密;
比较经所述公钥文件解密后的哈希值与获取的所述升级信息文件的文件内容对应的哈希值,若相同,根据所述升级包,利用所述升级包中的更新文件替换操作***中与所述更新文件对应的文件,并将所述升级信息文件中的该更新文件的第一哈希值和第二哈希值分别保存至该更新文件的第一属性条目和第二属性条目中。
15.如权利要求8所述的文件校验方法,其特征在于,所述获取操作***的镜像文件包括:
获取操作***源文件;
对操作***源文件进行编译,生成所述镜像文件。
16.一种操作***的文件签名装置,其特征在于,包括:
第一获取模块,用于获取操作***的镜像文件;
第二获取模块,用于获取签名策略文件和私钥文件;
第一签名模块,用于根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件。
17.一种操作***的文件校验装置,其特征在于,包括:
第三获取模块,用于获取操作***的镜像文件;
第四获取模块,用于获取签名策略文件和私钥文件;
第二签名模块,用于根据所述签名策略文件和私钥文件,对所述镜像文件中符合条件的文件进行数字签名和加密,得到安全镜像文件;
第五获取模块,用于获取校签策略文件和公钥文件;
校签模块,用于根据所述校签策略文件和公钥文件,对所述安全镜像文件进行校验,若符合校验条件,则认为所述操作***的文件安全。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510079120.XA CN105989306B (zh) | 2015-02-13 | 2015-02-13 | 操作***的文件签名方法、文件校验方法及装置 |
PCT/CN2015/078902 WO2016127516A1 (zh) | 2015-02-13 | 2015-05-13 | 操作***的文件签名方法、文件校验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510079120.XA CN105989306B (zh) | 2015-02-13 | 2015-02-13 | 操作***的文件签名方法、文件校验方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105989306A true CN105989306A (zh) | 2016-10-05 |
CN105989306B CN105989306B (zh) | 2020-04-28 |
Family
ID=56615403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510079120.XA Active CN105989306B (zh) | 2015-02-13 | 2015-02-13 | 操作***的文件签名方法、文件校验方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105989306B (zh) |
WO (1) | WO2016127516A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569865A (zh) * | 2016-11-14 | 2017-04-19 | 青岛海信移动通信技术股份有限公司 | 一种终端的***升级文件的制作方法及制作装置 |
CN108427888A (zh) * | 2017-02-15 | 2018-08-21 | 阿里巴巴集团控股有限公司 | 文件签名方法、文件校验方法及对应装置和设备 |
CN108762788A (zh) * | 2018-05-31 | 2018-11-06 | 四川斐讯信息技术有限公司 | 一种基于服务器的嵌入式设备固件加密方法和*** |
CN109766134A (zh) * | 2019-01-08 | 2019-05-17 | 四川虹微技术有限公司 | ***启动方法、装置、电子设备及存储介质 |
CN110704852A (zh) * | 2019-09-26 | 2020-01-17 | 江苏方天电力技术有限公司 | 一种rtos***程序镜像文件的加密*** |
CN111158728A (zh) * | 2019-12-31 | 2020-05-15 | 深圳市潮流网络技术有限公司 | 固件升级方法、固件启动方法、固件生成方法及装置 |
CN111201553A (zh) * | 2017-10-16 | 2020-05-26 | 华为技术有限公司 | 一种安全元件及相关设备 |
CN111241536A (zh) * | 2020-01-10 | 2020-06-05 | 杭州涂鸦信息技术有限公司 | 一种加载产测图像并防盗刷的方法及*** |
CN111680298A (zh) * | 2020-04-29 | 2020-09-18 | 杭州涂鸦信息技术有限公司 | 一种嵌入式***安全启动方法和具有存储功能的装置 |
CN113157286A (zh) * | 2021-04-20 | 2021-07-23 | 深圳市优必选科技股份有限公司 | ***升级方法及装置 |
CN114594912A (zh) * | 2022-03-14 | 2022-06-07 | 中国第一汽车股份有限公司 | 一种车辆仪表***的信息保护方法、装置、设备及介质 |
WO2022156507A1 (zh) * | 2021-01-20 | 2022-07-28 | 浪潮电子信息产业股份有限公司 | 虚拟光驱生成方法、装置及计算机可读存储介质 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548092B (zh) * | 2016-10-31 | 2019-07-16 | 杭州嘉楠耘智信息科技有限公司 | 一种文件处理方法及装置 |
CN111045704B (zh) * | 2019-11-22 | 2024-05-24 | 林洋能源科技(上海)有限公司 | 一种用于智能电网高端ami采集分析装备安全升级的方法以及设备 |
CN111245616B (zh) * | 2020-03-10 | 2023-03-24 | 阿波罗智联(北京)科技有限公司 | 网络通信的认证方法、装置、设备及存储介质 |
CN113296873A (zh) * | 2020-05-15 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 镜像构建方法和装置、终端设备和计算机存储介质 |
CN112257058A (zh) * | 2020-10-12 | 2021-01-22 | 麒麟软件有限公司 | 一种操作***可信计算校验方法及*** |
CN112328279B (zh) * | 2020-11-02 | 2023-04-14 | 宁波和利时信息安全研究院有限公司 | ***固件文件升级方法、装置及*** |
CN112817621A (zh) * | 2021-01-22 | 2021-05-18 | 浪潮电子信息产业股份有限公司 | 一种bios固件刷新方法、装置及相关组件 |
CN113037494B (zh) * | 2021-03-02 | 2023-05-23 | 福州汇思博信息技术有限公司 | 一种烧片镜像文件签名方法及终端 |
CN113391880B (zh) * | 2021-06-21 | 2023-04-07 | 超越科技股份有限公司 | 一种分层双重哈希验证的可信镜像传输方法 |
CN115941208B (zh) * | 2022-12-28 | 2024-04-02 | 广州文远知行科技有限公司 | 一种车端文件的传输方法、***、设备和介质 |
CN117390702B (zh) * | 2023-12-11 | 2024-03-15 | 厦门天锐科技股份有限公司 | 一种分体式驱动加壳方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1740941A (zh) * | 2004-08-25 | 2006-03-01 | 微软公司 | 用于程序代码安全执行的***和方法 |
CN101149773A (zh) * | 2007-08-27 | 2008-03-26 | 中国人民解放军空军电子技术研究所 | 一种基于软件实名认证的***及其安全查证方法 |
CN101578609A (zh) * | 2007-01-07 | 2009-11-11 | 苹果公司 | 安全启动计算设备 |
CN102572595A (zh) * | 2012-02-03 | 2012-07-11 | 深圳市同洲电子股份有限公司 | Iptv的升级包结构、升级方法以及开机校验方法 |
CN104156659A (zh) * | 2014-08-14 | 2014-11-19 | 电子科技大学 | 一种嵌入式***的安全启动方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6189100B1 (en) * | 1998-06-30 | 2001-02-13 | Microsoft Corporation | Ensuring the integrity of remote boot client data |
JP5904505B2 (ja) * | 2010-12-09 | 2016-04-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 仮想ディスクを暗号化及び復号するためのコンピュータ可読ストレージ媒体 |
CN102025744A (zh) * | 2010-12-20 | 2011-04-20 | 北京世纪互联工程技术服务有限公司 | 一种云计算中虚拟机镜像导入和导出*** |
CN103761329B (zh) * | 2014-02-08 | 2017-06-16 | 广东欧珀移动通信有限公司 | 一种对移动设备进行刷机的方法及其装置 |
-
2015
- 2015-02-13 CN CN201510079120.XA patent/CN105989306B/zh active Active
- 2015-05-13 WO PCT/CN2015/078902 patent/WO2016127516A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1740941A (zh) * | 2004-08-25 | 2006-03-01 | 微软公司 | 用于程序代码安全执行的***和方法 |
CN101578609A (zh) * | 2007-01-07 | 2009-11-11 | 苹果公司 | 安全启动计算设备 |
CN101149773A (zh) * | 2007-08-27 | 2008-03-26 | 中国人民解放军空军电子技术研究所 | 一种基于软件实名认证的***及其安全查证方法 |
CN102572595A (zh) * | 2012-02-03 | 2012-07-11 | 深圳市同洲电子股份有限公司 | Iptv的升级包结构、升级方法以及开机校验方法 |
CN104156659A (zh) * | 2014-08-14 | 2014-11-19 | 电子科技大学 | 一种嵌入式***的安全启动方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569865B (zh) * | 2016-11-14 | 2020-04-10 | 青岛海信移动通信技术股份有限公司 | 一种终端的***升级文件的制作方法及制作装置 |
CN106569865A (zh) * | 2016-11-14 | 2017-04-19 | 青岛海信移动通信技术股份有限公司 | 一种终端的***升级文件的制作方法及制作装置 |
CN108427888A (zh) * | 2017-02-15 | 2018-08-21 | 阿里巴巴集团控股有限公司 | 文件签名方法、文件校验方法及对应装置和设备 |
US11455430B2 (en) | 2017-10-16 | 2022-09-27 | Huawei Technologies Co., Ltd | Secure element and related device |
CN111201553A (zh) * | 2017-10-16 | 2020-05-26 | 华为技术有限公司 | 一种安全元件及相关设备 |
CN111201553B (zh) * | 2017-10-16 | 2022-04-22 | 华为技术有限公司 | 一种安全元件及相关设备 |
CN108762788A (zh) * | 2018-05-31 | 2018-11-06 | 四川斐讯信息技术有限公司 | 一种基于服务器的嵌入式设备固件加密方法和*** |
CN108762788B (zh) * | 2018-05-31 | 2023-07-28 | 杭州吉吉知识产权运营有限公司 | 一种基于服务器的嵌入式设备固件加密方法和*** |
CN109766134A (zh) * | 2019-01-08 | 2019-05-17 | 四川虹微技术有限公司 | ***启动方法、装置、电子设备及存储介质 |
CN110704852A (zh) * | 2019-09-26 | 2020-01-17 | 江苏方天电力技术有限公司 | 一种rtos***程序镜像文件的加密*** |
CN111158728A (zh) * | 2019-12-31 | 2020-05-15 | 深圳市潮流网络技术有限公司 | 固件升级方法、固件启动方法、固件生成方法及装置 |
CN111158728B (zh) * | 2019-12-31 | 2024-02-02 | 深圳市潮流网络技术有限公司 | 固件升级方法、固件启动方法及装置 |
CN111241536A (zh) * | 2020-01-10 | 2020-06-05 | 杭州涂鸦信息技术有限公司 | 一种加载产测图像并防盗刷的方法及*** |
CN111680298B (zh) * | 2020-04-29 | 2023-10-27 | 杭州涂鸦信息技术有限公司 | 一种嵌入式***安全启动方法和具有存储功能的装置 |
CN111680298A (zh) * | 2020-04-29 | 2020-09-18 | 杭州涂鸦信息技术有限公司 | 一种嵌入式***安全启动方法和具有存储功能的装置 |
WO2022156507A1 (zh) * | 2021-01-20 | 2022-07-28 | 浪潮电子信息产业股份有限公司 | 虚拟光驱生成方法、装置及计算机可读存储介质 |
CN113157286A (zh) * | 2021-04-20 | 2021-07-23 | 深圳市优必选科技股份有限公司 | ***升级方法及装置 |
CN114594912A (zh) * | 2022-03-14 | 2022-06-07 | 中国第一汽车股份有限公司 | 一种车辆仪表***的信息保护方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105989306B (zh) | 2020-04-28 |
WO2016127516A1 (zh) | 2016-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105989306A (zh) | 操作***的文件签名方法、文件校验方法及装置 | |
RU2728524C1 (ru) | Способ и устройство консенсусной верификации | |
US11523153B2 (en) | System and techniques for digital data lineage verification | |
CN104408370B (zh) | 安卓***安全性验证方法及其验证装置 | |
US20090193211A1 (en) | Software authentication for computer systems | |
CN110225063A (zh) | 汽车车载***的升级方法、升级***、服务器及车载终端 | |
US9442833B1 (en) | Managing device identity | |
CN106778283A (zh) | 一种***分区关键数据的保护方法及*** | |
CN102346831A (zh) | Android操作***的手持设备隐私加密保护方法 | |
US20220337392A1 (en) | Automatic digital media authenticator | |
WO2018184353A1 (zh) | 应用程序安全认证的方法、终端及存储介质 | |
US10387687B2 (en) | Method for symbolic execution on constrained devices | |
CN108540447B (zh) | 一种基于区块链的证书验证方法及*** | |
CN103745166A (zh) | 文件属性值的检验方法和装置 | |
Sahin et al. | Don't forget the stuffing! revisiting the security impact of typo-tolerant password authentication | |
CN109117643A (zh) | ***处理的方法以及相关设备 | |
US9860230B1 (en) | Systems and methods for digitally signing executables with reputation information | |
Shahriar et al. | Content provider leakage vulnerability detection in Android applications | |
CN100596058C (zh) | 可信计算平台密钥授权数据管理***及方法 | |
CN108256351B (zh) | 文件处理方法和装置、存储介质及终端 | |
EP2786519B1 (en) | User access control based on a graphical signature | |
CN110555682A (zh) | 基于联盟链的多通道实现方法 | |
CN104751042A (zh) | 基于密码哈希与生物特征识别的可信性检测方法 | |
US8844024B1 (en) | Systems and methods for using tiered signing certificates to manage the behavior of executables | |
CN106294017A (zh) | 一种信息安全备份实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |