一种用于对嵌入式设备进行多级加锁的方法及系统与流程

文档序号:17863941发布日期:2019-06-11 23:03阅读:228来源:国知局
一种用于对嵌入式设备进行多级加锁的方法及系统与流程

本发明涉及嵌入式设备安全技术领域,更具体地,涉及一种用于对嵌入式设备进行多级加锁的方法及系统。



背景技术:

随着经济社会发展,越来越多的小型嵌入式设备应用于生活和工业生产等各个领域。linux操作系统是当前在嵌入式设备中应用最为广泛的底层操作系统,主要拥有以下四大优势:一、支持跨硬件平台,linux内核主要由c语言编写,采用了可移植的unix标准应用程序接口,所以获得了跨平台的硬件支持;二、对系统资源的占用非常小,64m内存的设备也能流畅运行;三、稳定性很好,作为服务器运行可以常年不关机也不会宕机;四、内核代码开源,一方面版本更新迭代效率高,另一方面也降低了成本。与此同时,作为开源的操作系统,它的设备安全性问题也逐渐显现,在税务领域,单盘板和开票服务器等设备使用的linux操作系统底层并没有加入锁机制,有经验的linux开发人员可能通过设备的调试串口进入底层系统修改、下载应用层软件和数据库,甚至私自刷新税控设备的操作系统,给税控设备的安全运行和推广应用造成麻烦,同时由于大量税控产品已经销售到客户手中,大规模召回返厂进行安全升级将消耗大量人力物力。

现有技术(申请号:201510323773.8):公开了一种嵌入式设备加密与验证方法,其特征在于,包括步骤:s101、将驱动代码和核心代码烧录至嵌入式设备;其中,所述驱动代码包含有加密程序和存储器的驱动程序,所述核心代码中含有核心应用程序和适用于本型号设备的设备版本序列号;s102、嵌入式设备上电后,嵌入式设备的cpu运行所述驱动代码;s103、所述cpu从所述存储器中读取出所述存储器的芯片号,并从所述核心代码中提取出所述设备版本序列号;s104、所述cpu通过所述加密程序将所述芯片号和所述设备版本序列号加密形成第一设备密码;s105、所述cpu从所述存储器的设备密码区中读取第二设备密码;若读取到的第二设备密码为空,则执行s106,否则执行s107;s106、所述cpu将所述芯片号输出至所述存储器的数据安全区,并终止运行;s107、所述cpu对所述第一设备密码和所述第二设备密码进行一致性验证;若一致,则验证通过,所述cpu运行所述核心代码,否则执行s106;执行s106后,还包括步骤:s108、采用计算机从所述存储器的数据安全区中提取所述芯片号;s109、计算机根据输入的嵌入式设备的设备型号采用加密软件从内部检索到对应的设备版本序列号;s110、计算机采用所述加密软件将检索到的设备版本序列号和所述芯片号加密形成第二设备密码,并写入至所述存储器的数据安全区中,其中,所述加密软件的加密方式和s104的加密方式相同;s111、重启嵌入式设备,返回执行s102。然而,现有技术对嵌入式设备进行加密的方法,需要将驱动代码和核心代码烧录至嵌入式设备,并通过加密方式对设备进行保护,现有对嵌入式设备进行加密的方法,操作复杂,成本较高。

因此,需要一种技术,以实现对嵌入式设备进行多级加锁的技术。



技术实现要素:

本发明技术方案提供一种用于对嵌入式设备进行多级加锁的方法及系统,以解决如何对嵌入式设备进行多级加锁的问题。

为了解决上述问题,本发明提供了一种用于对嵌入式设备进行多级加锁的方法,所述方法包括:

通过修改嵌入式设备的操作系统内核的打印函数,使得操作系统内核启动以后所有的打印信息都指向预设位置,实现所述嵌入式设备的操作系统内核加锁;

基于所述嵌入式设备的操作系统内核加锁进行远程网络升级底层文件系统加锁,包括:

启动进程进入文件系统层,系统启动脚本被执行;

判断文件系统屏蔽脚本的状态是否正常,如果不正常则直接跳过进入无锁状态;

否则执行所述系统屏蔽脚本,在所述系统屏蔽脚本启动以后作为一项进程屏蔽调试串口的一切系统中断和键盘鼠标操作响应,只允许通过应用层进行正常的税务信息处理,实现底层文件系统加锁。

优选地,通过后门程序对所述系统屏蔽脚本进行状态控制,包括:

在所述系统启动脚本被执行后,判断所述文件系统屏蔽脚本的状态是否为正常;

当所述文件系统屏蔽脚本为失效状态时,通过所述后门程序将所述文件系统屏蔽脚本恢复为正常状态。

基于本发明的另一方面,提供一种用于对嵌入式设备进行多级解锁的方法,所述方法包括:

通过升级脚本将嵌入式设备中原有已加锁内核替换为未加锁内核而保留原启动进程uboot和底层文件系统,实现所述嵌入式设备内核解锁;

触发后门程序,通过所述后门程序将所述文件系统屏蔽脚本修改为失效状态,并对所述嵌入式设备进行重启,实现底层文件系统解锁。

优选地,包括:

所述嵌入式设备解锁后,通过预留的调试串口对操作系统以及所述底层文件系统进行调试;

所述操作系统以及所述底层文件系统经过调试后,对所述嵌入式设备的操作系统内核和所述底层文件系统进行加锁。

优选地,通过将系统屏蔽脚本修改为正常状态对所述底层文件系统进行加锁。

基本本发明的另一方面,提供一种用于对嵌入式设备进行多级加锁的系统,所述系统包括:

第一加锁单元,用于通过修改嵌入式设备的操作系统内核的打印函数,使得操作系统内核启动以后所有的打印信息都指向预设位置,实现所述嵌入式设备的操作系统内核加锁;

第二加锁单元,用于基于所述嵌入式设备的操作系统内核加锁进行远程网络升级底层文件系统加锁,包括:

启动进程进入文件系统层,系统启动脚本被执行;

判断文件系统屏蔽脚本的状态是否正常,如果不正常则直接跳过进入无锁状态;

否则执行所述系统屏蔽脚本,在所述系统屏蔽脚本启动以后作为一项进程屏蔽调试串口的一切系统中断和键盘鼠标操作响应,只允许通过应用层进行正常的税务信息处理,实现底层文件系统加锁。

优选地,还包括控制单元,用于通过后门程序对所述系统屏蔽脚本进行状态控制,包括:

在所述系统启动脚本被执行后,判断所述文件系统屏蔽脚本的状态是否为正常;

当所述文件系统屏蔽脚本为失效状态时,通过所述后门程序将所述文件系统屏蔽脚本恢复为正常状态。

基于本发明的另一方面,提供一种用于对嵌入式设备进行多级解锁的系统,所述系统包括:

第一解锁单元,用于通过升级脚本将嵌入式设备中原有已加锁内核替换为未加锁内核而保留原启动进程uboot和底层文件系统,实现所述嵌入式设备内核解锁;

第二解锁单元,用于触发后门程序,通过所述后门程序将所述文件系统屏蔽脚本修改为失效状态,并对所述嵌入式设备进行重启,实现底层文件系统解锁。

优选地,还包括调试单元,用于:

所述嵌入式设备解锁后,通过预留的调试串口对操作系统以及所述底层文件系统进行调试;

所述操作系统以及所述底层文件系统经过调试后,对所述嵌入式设备的操作系统内核和所述底层文件系统进行加锁。

优选地,所述第二解锁单元还用于通过将系统屏蔽脚本修改为正常状态对所述底层文件系统进行加锁。

本发明技术方案提供一种用于对嵌入式设备进行多级加锁的方法及系统,其中方法包括:通过修改嵌入式设备的操作系统内核的打印函数,使得操作系统内核启动以后所有的打印信息都指向预设位置,实现嵌入式设备的操作系统内核加锁;基于嵌入式设备的操作系统内核加锁进行远程网络升级底层文件系统加锁,包括:启动进程进入文件系统层,系统启动脚本被执行;判断文件系统屏蔽脚本的状态是否正常,如果不正常则直接跳过进入无锁状态;否则执行系统屏蔽脚本,在系统屏蔽脚本启动以后作为一项进程屏蔽调试串口的一切系统中断和键盘鼠标操作响应,只允许通过应用层进行正常的税务信息处理,实现底层文件系统加锁。本发明技术方案提供的一种用于对嵌入式设备进行多级加锁的技术,简单可靠、不增加修改成本:在不修改原有硬件电路结构、不改变原有业务程序逻辑、不需返厂增加额外成本的情况下,通过软件方法实现了上锁解锁机制。本发明技术方案安全有效、可管可控:全新的安全策略,为获得嵌入式设备系统访问授权的极少数研发测试人员配备上锁、解锁升级u盘作为安全钥匙,安全责任可以落实到个人,完全封闭了非法访问的途径。本发明技术方案实现了对嵌入式设备加密进行远程操作,拓展性强,上锁解锁机制实现方式安全、方便,通过远程网络升级的方式为已经在客户手中使用的嵌入式产品进行了安全升级,后续可以根据业务需要拓展其他功能。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明优选实施方式用于对嵌入式设备进行多级加锁的方法流程图;

图2为根据本发明优选实施方式用于对嵌入式设备进行多级加锁的方法流程图;

图3为根据本发明优选实施方式用于对嵌入式设备进行多级解锁的方法流程图;

图4为根据本发明优选实施方式用于对嵌入式设备进行多级解锁的方法流程图;

图5为根据本发明优选实施方式用于对嵌入式设备进行多级加锁的系统结构图;以及

图6为根据本发明优选实施方式用于对嵌入式设备进行多级解锁的系统结构图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1为根据本发明优选实施方式用于对嵌入式设备进行多级加锁的方法流程图。本申请实施方式结合实际情况充分考虑了产品管理方面的各种限制因素,将对嵌入式设备的加锁分为内核上锁和底层文件系统上锁两部分,双重上锁增加了嵌入式设备使用的安全性。如图1所示,一种用于对嵌入式设备进行多级加锁的方法,包括:

优选地,在步骤101:通过修改嵌入式设备的操作系统内核的打印函数,使得操作系统内核启动以后所有的打印信息都指向预设位置,实现嵌入式设备的操作系统内核加锁。本申请对内核上锁的实现方法是修改linux内核的打印函数,使linux内核启动以后所有的打印信息都归于/dev/null,这样即使连接了调试串口线,到startingkernel的位置,后面的所有内核信息都被隐藏,无法窥探也无法进行任何操作。

优选地,在步骤102:基于嵌入式设备的操作系统内核加锁进行远程网络升级底层文件系统加锁,包括:启动进程进入文件系统层,系统启动脚本被执行;判断文件系统屏蔽脚本的状态是否正常,如果不正常则直接跳过进入无锁状态;否则执行系统屏蔽脚本,在系统屏蔽脚本启动以后作为一项进程屏蔽调试串口的一切系统中断和键盘鼠标操作响应,只允许通过应用层进行正常的税务信息处理,实现底层文件系统加锁。本申请通过网络给底层文件系统上锁的功能,虽然相比于新出厂设备只有文件系统一道锁,但同样可以达到屏蔽调试串口的目的。网络升级包中除了升级脚本以外还打包了文件系统屏蔽脚本lock.sh、更新后的系统启动脚本、后门程序,将网络升级包远程下发给客户手中的嵌入式设备以后,升级脚本将网络升级包中的各项内容解压到文件系统相应位置后重启设备,启动进程进入文件系统层的时候,系统启动脚本首先被执行,判断文件系统屏蔽脚本lock.sh是否正常,如果不正常则直接跳过进入无锁状态,如果正常则执行lock.sh,lock.sh启动以后作为一项进程屏蔽了调试串口的一切系统中断和键盘鼠标操作响应,只允许应用层进行正常的税务信息处理,这样即使在客户手中的未返厂升级内核的嵌入式设备,经过远程网络升级以后也对外界封闭了所有操作,使非授权人员无法通过预留的调试串口对嵌入式设备进行任何操作,达到了安全保密的效果。

优选地,通过后门程序对系统屏蔽脚本进行状态控制,包括:在系统启动脚本被执行后,判断文件系统屏蔽脚本的状态是否为正常;当文件系统屏蔽脚本为失效状态时,通过后门程序将文件系统屏蔽脚本恢复为正常状态。

本发明的方案分为上锁方案和解锁方案。

本申请实施方式的上锁方案如附图2所示,分为内核上锁和底层文件系统上锁两部分,双重上锁既增加了安全性,也结合实际情况充分考虑了产品管理方面的各种限制因素。内核上锁的实现方法是修改linux内核的打印函数,使linux内核启动以后所有的打印信息都归于/dev/null,这样即使连接了调试串口线,到startingkernel的位置,后面的所有内核信息都被隐藏,无法窥探也无法进行任何操作。为此开发了安全升级u盘(亦即上锁钥匙),内含加锁内核与升级脚本,与嵌入式设备连接以后,升级脚本可以将设备中原有未加锁内核替换为加锁内核而保留原uboot和底层文件系统,已经在客户手中的嵌入式设备采用这种方式通过返厂升级可以实现内核加锁。但现实操作中,很多已经在客户手中使用的嵌入式设备因为储存了大量用户信息,执行返厂刷新内核操作可能会造成很大损失,所以在内核加锁的基础上提出了远程网络升级底层文件系统锁的机制,对于不方便返厂进行内核上锁的旧嵌入式设备,实现了通过网络给底层文件系统上锁的功能,虽然相比于新出厂设备只有文件系统一道锁,但同样可以达到屏蔽调试串口的目的。网络升级包中除了升级脚本以外还打包了文件系统屏蔽脚本lock.sh、更新后的系统启动脚本、后门程序,将网络升级包远程下发给客户手中的嵌入式设备以后,升级脚本将网络升级包中的各项内容解压到文件系统相应位置后重启设备,启动进程进入文件系统层的时候,系统启动脚本首先被执行,判断文件系统屏蔽脚本lock.sh是否正常,如果不正常则直接跳过进入无锁状态,如果正常则执行lock.sh,lock.sh启动以后作为一项进程屏蔽了调试串口的一切系统中断和键盘鼠标操作响应,只允许应用层进行正常的税务信息处理,这样即使在客户手中的未返厂升级内核的嵌入式设备,经过远程网络升级以后也对外界封闭了所有操作,使非授权人员无法通过预留的调试串口对嵌入式设备进行任何操作,达到了安全保密的效果。后门程序用来对lock.sh脚本进行状态控制,在系统启动脚本执行以后再启动,每次上电过程只执行一次判断,判断lock.sh脚本状态是否为正常状态,如果是失效状态后门程序默认将其修复为正常状态,然后挂起,当进行后门解锁操作的时候后门程序被唤醒,将lock.sh脚本改为失效状态后重启,这样为且仅为下一次设备启动提供了解锁功能。

图3为根据本发明优选实施方式用于对嵌入式设备进行多级解锁的方法流程图。本申请实施方式的解锁分为内核解锁和底层文件系统解锁两部分。如图3所示,一种用于对嵌入式设备进行多级解锁的方法,包括:

优选地,在步骤301:通过升级脚本将嵌入式设备中原有已加锁内核替换为未加锁内核而保留原启动进程uboot和底层文件系统,实现嵌入式设备内核解锁。本申请实施方式的解锁方案的应用场景是极少数本单位授权的研发或者测试人员对嵌入式设备进行研发或者测试,所以与上锁u盘对应,配备了解锁u盘(亦即解锁钥匙),内含不带内核锁的内核与升级脚本,与嵌入式设备连接以后,升级脚本可以将设备中原有已加锁内核替换为未加锁内核而保留原uboot和底层文件系统,实现内核解锁。

优选地,在步骤302:触发后门程序,通过后门程序将文件系统屏蔽脚本修改为失效状态,并对嵌入式设备进行重启,实现底层文件系统解锁。本申请底层文件的解锁包括,对嵌入式设备重置按键进行特定操作可以触发后门程序,将文件系统屏蔽进程lock.sh修改为失效状态并重启设备,实现文件系统解锁操作。

优选地,方法还包括:嵌入式设备解锁后,通过预留的调试串口对操作系统以及底层文件系统进行调试;操作系统以及底层文件系统经过调试后,对嵌入式设备的操作系统内核和底层文件系统进行加锁。

优选地,通过将系统屏蔽脚本修改为正常状态对底层文件系统进行加锁。本申请对于开锁以后的嵌入式设备,获得授权的研发测试人员可以通过预留的调试串口对linux系统及底层文件系统进行调试,完成调试以后只需要用上锁u盘重新对内核执行上锁操作即可,文件系统中的后门程序会在每次重启以后自动修改lock.sh脚本为正常状态,给底层文件系统上锁。

本申请实施方式的解锁方案如附图4所示,分为内核解锁和底层文件系统解锁两部分。解锁方案的应用场景是极少数本单位授权的研发或者测试人员对嵌入式设备进行研发或者测试,所以与上锁u盘对应,配备了解锁u盘(亦即解锁钥匙),内含不带内核锁的内核与升级脚本,与嵌入式设备连接以后,升级脚本可以将设备中原有已加锁内核替换为未加锁内核而保留原uboot和底层文件系统,实现内核解锁。底层文件系统方面,对嵌入式设备重置按键进行特定操作可以触发后门程序,将文件系统屏蔽进程lock.sh修改为失效状态并重启设备,实现文件系统解锁操作。对于开锁以后的嵌入式设备,获得授权的研发测试人员可以通过预留的调试串口对linux系统及底层文件系统进行调试,完成调试以后只需要用上锁u盘重新对内核执行上锁操作即可,文件系统中的后门程序会在每次重启以后自动修改lock.sh脚本为正常状态,给底层文件系统上锁。

图5为根据本发明优选实施方式用于对嵌入式设备进行多级加锁的系统结构图。如图5所示,一种用于对嵌入式设备进行多级加锁的系统,系统包括:

第一加锁单元501,用于通过修改嵌入式设备的操作系统内核的打印函数,使得操作系统内核启动以后所有的打印信息都指向预设位置,实现嵌入式设备的操作系统内核加锁;

第二加锁单元502,用于基于嵌入式设备的操作系统内核加锁进行远程网络升级底层文件系统加锁,包括:启动进程进入文件系统层,系统启动脚本被执行;判断文件系统屏蔽脚本的状态是否正常,如果不正常则直接跳过进入无锁状态;否则执行系统屏蔽脚本,在系统屏蔽脚本启动以后作为一项进程屏蔽调试串口的一切系统中断和键盘鼠标操作响应,只允许通过应用层进行正常的税务信息处理,实现底层文件系统加锁。

优选地,还包括控制单元,用于通过后门程序对系统屏蔽脚本进行状态控制,包括:在系统启动脚本被执行后,判断文件系统屏蔽脚本的状态是否为正常;当文件系统屏蔽脚本为失效状态时,通过后门程序将文件系统屏蔽脚本恢复为正常状态。

本发明优选实施方式用于对嵌入式设备进行多级加锁的系统500与本发明优选实施方式用于对嵌入式设备进行多级加锁的方法100相对应,在此不再进行赘述。

图6为根据本发明优选实施方式用于对嵌入式设备进行多级解锁的系统结构图。如图6所示,一种用于对嵌入式设备进行多级解锁的系统,系统包括:

第一解锁单元601,用于通过升级脚本将嵌入式设备中原有已加锁内核替换为未加锁内核而保留原启动进程uboot和底层文件系统,实现嵌入式设备内核解锁。

第二解锁单元602,用于触发后门程序,通过后门程序将文件系统屏蔽脚本修改为失效状态,并对嵌入式设备进行重启,实现底层文件系统解锁。

优选地,系统还包括调试单元,用于:嵌入式设备解锁后,通过预留的调试串口对操作系统以及底层文件系统进行调试;操作系统以及底层文件系统经过调试后,对嵌入式设备的操作系统内核和底层文件系统进行加锁。

优选地,第二解锁单元还用于通过将系统屏蔽脚本修改为正常状态对底层文件系统进行加锁。

本发明优选实施方式用于对嵌入式设备进行多级解锁的系统600与本发明优选实施方式用于对嵌入式设备进行多级解锁的方法300相对应,在此不再进行赘述。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1