首页> 中国专利> 一种嵌入式系统及安全操作系统的实现方法

一种嵌入式系统及安全操作系统的实现方法

摘要

本发明公开了一种嵌入式系统及安全操作系统的实现方法,硬件系统包含一块支持RSA非对称加密算法且可提供2048位私钥的加密芯片和一块受保护的非易失存储器。软件系统在Linux操作系统基础上,对进程进行非对称加密算法认证,涉及私钥的操作均在受保护存储器中的特定存储区域(隐藏地址区段)内完成,此时只有通过认证的进程才能在系统中运行,否则将被KILL。由于这种安全操作系统具有存储器保护、密钥认证等功能,因此其是一种可信计算架构体系,具有很高的安全性。这种安全操作系统主要用于安全、保密等特种领域,可适配到通用PC、嵌入式平板等硬件系统。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-23

    专利权的转移 IPC(主分类):G06F12/02 登记生效日:20190806 变更前: 变更后: 变更前: 变更后: 申请日:20131211

    专利申请权、专利权的转移

  • 2016-08-17

    授权

    授权

  • 2014-04-02

    实质审查的生效 IPC(主分类):G06F12/02 申请日:20131211

    实质审查的生效

  • 2014-03-05

    公开

    公开

说明书

技术领域

本发明涉及一种嵌入式系统及安全操作系统的实现方法。

背景技术

随着计算机技术的发展,系统安全已越来越受到关注,而操作系统作为计算机体系中的关键组成部分,其安全特性受到更多的考虑。为保护操作系统及其关键数据不受恶意程序破坏,出现了杀毒软件、数据加密等技术,这些技术能够在一定程度上对操作系统及其关键数据进行保护,但它们建立在操作系统之上,本身不属于操作系统的一部分,因此保护作用具有局限性,而且这些保护程序本身的安全性也需要关注。“棱镜门”事件之后,许多著名的应用软件、操作系统都可能存在“后门”,因此操作系统本身是否安全,以及其上运行的程序是否安全等问题需要重点考虑。

因此,有必要设计一种具有安全操作系统的嵌入式系统及安全操作系统的实现方法。

发明内容

本发明所要解决的技术问题是提供一种嵌入式系统及安全操作系统的实现方法,该嵌入式系统及安全操作系统的实现方法能有效保障操作系统的安全,可用于对安全、保密有严格要求的特种领域。

发明的技术解决方案如下:

一种安全操作系统的实现方法,在硬件系统中设置一块支持RSA非对称加密算法且能提供2048位私钥的加密芯片和一块受保护的非易失性的存储器;所述的存储器为FLASH存储器;

在Linux操作系统基础上,对携带公钥的进程(PP)进行基于非对称加密算法的认证,如果认证通过,操作系统的进程管理模块(PM)允许该进程继续运行,如果认证不通过,进程管理模块(PM)禁止该进程运行;

认证的过程为:

1):携带公钥的进程(PP)由进程管理模块(PM)启动运行,并提交公钥给进程管理模块,此后携带公钥的进程进入等待状态;

2)进程管理模块(PM)收到公钥后,将公钥提交给认证模块(CA),从而激活认证模块(CA)运行;

3)认证模块(CA)获得公钥后,从加密芯片提取私钥,并使用RSA非对称加密算法进行认证,然后将认证结果返回给进程管理模块(PM);

认证模块采用以下步骤实施认证:

A)通过加密芯片的驱动程序从加密芯片读出私钥;

B)将私钥保存到所述存储器的特定存储区域中;

C)使用RSA算法对传入的公钥进行解密【如果解密成功,那么说明认证通过,此时将认证成功结果返回给PM,如果解密失败,那么说明认证不通过,此时将认证不成功结果返回给PM】;

所述的特定存储区域只由认证过程对应的程序使用,在解密过程中,私钥及与私钥相关的数据均存储在该特定存储区域内,而不使用系统其他存储区域进行存储【解密完成后对特定存储区域进行清空】。

受保护的存储器被划分为特定存储区域即隐藏的地址区段和不受限制的地址区段;在受保护的存储器中开辟一块所述特定存储区域的方法为:通过BootLoader启动程序对存储器的物理地址空间进行分配,即分为的被隐藏的地址区段和不受限制的地址区段;隐藏地址区段对应于特定存储区域,又称为受限制的地址区段;在Boot Loader启动程序中,通过配置处理器的基地址寄存器以及地址映射关系,使得Linux操作系统在建立MMU管理时,只在不受限制的地址区段上进行,而被隐藏的地址区段不参与MMU建立;使得在Linux系统启动后,MMU只能管理不受限制的物理地址区段;而被隐藏地址区段对MMU不可见,经过以上处理后,除认证模块对应的程序外,Linux操作系统及Linux操作系统上运行的程序都不能直接访问该被隐藏的地址区段;

通过认证模块对应的程序对该段隐藏的物理地址进行访问的实现方法为:不通过MMU的地址映射而是采用物理地址对该被隐藏的地址区段进行操作。

一种嵌入式系统,采用由前述的方法实现的操作系统;该嵌入式系统包括处理器、LCD显示屏、内存、FLASH存储器和USB接口;LCD显示屏、内存、FLASH存储器和USB接口均与处理器连接;其特征在于,还包括用于生成私钥的加密芯片;所述的加密芯片与处理器连接。

所述的嵌入式系统还包括对携带公钥的进程(PP)进行基于非对称加密算法认证的认证装置;如果认证通过,操作系统的进程管理模块(PM)允许该进程继续运行,如果认证不通过,进程管理模块(PM)禁止该进程运行。

认证装置包括

1):进程管理模块(PM)启动携带公钥的进程(PP)的装置以及从携带公钥的进程(PP)获取公钥的装置;

2)进程管理模块(PM)收到公钥后,将公钥提交给认证模块(CA),从而激活认证模块(CA)运行的装置;

3)认证模块(CA)获得公钥后,从加密芯片提取私钥,并使用RSA非对称加密算法进行认证,然后将认证结果返回给进程管理模块(PM)的装置;

所述的认证模块对应的装置包括:

A)通过加密芯片的驱动程序从加密芯片读出私钥的装置;

B)将私钥保存到所述存储器的特定存储区域中的装置;

C)使用RSA算法对传入的公钥进行解密以完成认证的装置;

所述的特定存储区域只由认证过程对应的程序使用,在解密过程中,私钥及与私钥相关的数据均存储在该特定存储区域内,而不使用系统其他存储区域进行存储【解密完成后对特定存储区域进行清空】;

所述的嵌入式系统还包括用于在存储器中开辟一块特定存储区域用于存储与加密和解密相关的数据的装置;所述的存储器为FLASH存储器。

所述的嵌入式系统还包括与处理器相连的触摸屏控制器;嵌入式设备为平板电脑,所述的处理器为Exynos4412,存储器采用NAND FLASH存储器;内存为DDR3内存;还包括USB接口和用于读写SD/TF器件的SD/TF插口;选用具有UART、I2C、SPI、PCI、USB任一接口的加密芯片,该加密芯片能提供2048位的私钥。

加密芯片为TF32A09器件。

本发明的核心在于,硬件系统包含一块支持RSA非对称加密算法且可提供2048位私钥的加密芯片和一块受保护的非易失存储器。软件系统在Linux操作系统基础上,对进程进行非对称加密算法认证,涉及私钥的操作均在受保护存储器中的特定存储区域内完成,此时只有通过认证的进程才能在系统中运行,否则将被KILL【终止】。

本发明的关键是在操作系统上建立可信计算体系架构,并考虑一定的普适性,主要改进点在于:

1.在硬件系统中,必须提供一块加密芯片。该芯片可提供2048位的私钥,并支持RSA非对称加密算法认证。

2.受保护的非易失存储器可以是一块独立的存储器,也可以是存储器对应物理地址空间的一部分。受保护的特性是由软件去实现,需在BootLoader启动程序中分配一段物理地址空间给受保护的存储器作为特定存储区域【隐藏地址区域】,而硬件只需提供非易失存储器件。受保护存储器中的特定存储区域只接受特定的驱动程序通过物理地址访问。

3.对进程管理(PM)模块进行优化,并增加进程(PP)的认证过程;增加认证(CA)模块,负责对进程进行RSA认证。认证结果作为该进程是否可信的判断依据,并决定进程的运行结果。

有益效果:

本发明的嵌入式系统具有存储器保护、密钥认证等功能,可对进程进行认证,未通过认证的进程将被禁止运行,从而阻止它们破坏操作系统的可能。这种可信计算实现的安全操作系统可用于对安全、保密有严格要求的特种领域。

由于这种安全操作系统具有存储器保护、密钥认证等功能,因此其是一种可信计算架构体系,具有很高的安全性。这种安全操作系统主要用于安全、保密等特种领域,可适配到通用PC、嵌入式平板等硬件系统。

本发明是在Linux操作系统基础上实现了可信计算体系架构,可对进程进行非对称加密RSA认证,使得系统中运行的进程都是可信安全的,从而确保系统安全。此时操作系统不仅自身安全,也能够保证系统运行时的安全。因此可以在保密、安全等特种应用领域使用这种可信计算实现的安全操作系统,以保证系统安全可信。

附图说明

图1为安全操作系统的体系架构图;

图2为嵌入式系统的硬件结构框图。

具体实施方式

以下将结合附图和具体实施例对本发明做进一步详细说明:

实施例1:

如图1-2,一种安全操作系统的实现方法,在硬件系统中设置一块支持RSA非对称加密算法且能提供2048位私钥的加密芯片和一块受保护的非易失性的存储器;所述的存储器为FLASH存储器;

在Linux操作系统基础上,对携带公钥的进程(PP)进行基于非对称加密算法的认证,如果认证通过,操作系统的进程管理模块(PM)允许该进程继续运行,如果认证不通过,进程管理模块(PM)禁止该进程运行;

认证的过程为:

1):携带公钥的进程(PP)由进程管理模块(PM)启动运行,并提交公钥给进程管理模块,此后携带公钥的进程进入等待状态;

2)进程管理模块(PM)收到公钥后,将公钥提交给认证模块(CA),从而激活认证模块(CA)运行;

3)认证模块(CA)获得公钥后,从加密芯片提取私钥,并使用RSA非对称加密算法进行认证,然后将认证结果返回给进程管理模块(PM);

认证模块采用以下步骤实施认证:

A)通过加密芯片的驱动程序从加密芯片读出私钥;

B)将私钥保存到所述存储器的特定存储区域中;

C)使用RSA算法对传入的公钥进行解密【如果解密成功,那么说明认证通过,此时将认证成功结果返回给PM,如果解密失败,那么说明认证不通过,此时将认证不成功结果返回给PM】;

所述的特定存储区域只由认证过程对应的程序使用,在解密过程中,私钥及与私钥相关的数据均存储在该特定存储区域内,而不使用系统其他存储区域进行存储【解密完成后对特定存储区域进行清空】。

受保护的存储器被划分为特定存储区域即隐藏的地址区段和不受限制的地址区段;在受保护的存储器中开辟一块所述特定存储区域的方法为:通过BootLoader启动程序对存储器的物理地址空间进行分配,即分为的被隐藏的地址区段和不受限制的地址区段;隐藏地址区段对应于特定存储区域,又称为受限制的地址区段;在Boot Loader启动程序中,通过配置处理器的基地址寄存器以及地址映射关系,使得Linux操作系统在建立MMU管理时,只在不受限制的地址区段上进行,而被隐藏的地址区段不参与MMU建立;使得在Linux系统启动后,MMU只能管理不受限制的物理地址区段;而被隐藏地址区段对MMU不可见,经过以上处理后,除认证模块对应的程序外,Linux操作系统及Linux操作系统上运行的程序都不能直接访问该被隐藏的地址区段;

通过认证模块对应的程序对该段隐藏的物理地址进行访问的实现方法为:不通过MMU的地址映射而是采用物理地址对该被隐藏的地址区段进行操作。

一种嵌入式系统,采用由前述的方法实现的操作系统;该嵌入式系统包括处理器、LCD显示屏、内存、FLASH存储器和USB接口;LCD显示屏、内存、FLASH存储器和USB接口均与处理器连接;其特征在于,还包括用于生成私钥的加密芯片;所述的加密芯片与处理器连接。

所述的嵌入式系统还包括对携带公钥的进程(PP)进行基于非对称加密算法认证的认证装置;如果认证通过,操作系统的进程管理模块(PM)允许该进程继续运行,如果认证不通过,进程管理模块(PM)禁止该进程运行。

认证装置包括

1):进程管理模块(PM)启动携带公钥的进程(PP)的装置以及从携带公钥的进程(PP)获取公钥的装置;

2)进程管理模块(PM)收到公钥后,将公钥提交给认证模块(CA),从而激活认证模块(CA)运行的装置;

3)认证模块(CA)获得公钥后,从加密芯片提取私钥,并使用RSA非对称加密算法进行认证,然后将认证结果返回给进程管理模块(PM)的装置;

所述的认证模块对应的装置包括:

A)通过加密芯片的驱动程序从加密芯片读出私钥的装置;

B)将私钥保存到所述存储器的特定存储区域中的装置;

C)使用RSA算法对传入的公钥进行解密以完成认证的装置;

所述的特定存储区域只由认证过程对应的程序使用,在解密过程中,私钥及与私钥相关的数据均存储在该特定存储区域内,而不使用系统其他存储区域进行存储【解密完成后对特定存储区域进行清空】;

所述的嵌入式系统还包括用于在存储器中开辟一块特定存储区域用于存储与加密和解密相关的数据的装置;所述的存储器为FLASH存储器。

所述的嵌入式系统还包括与处理器相连的触摸屏控制器;嵌入式设备为平板电脑,所述的处理器为Exynos4412,存储器采用NAND FLASH存储器;内存为DDR3内存;还包括USB接口和用于读写SD/TF器件的SD/TF插口;选用具有UART、I2C、SPI、PCI、USB任一接口的加密芯片,该加密芯片能提供2048位的私钥。

加密芯片为TF32A09器件。

在安全操作系统中,需要硬件系统中提供一块加密芯片,该芯片需支持RSA非对称加密算法,且提供2048位私钥。其与CPU的接口可以是PCI、USB、UART、I2C、SPI等。受保护的存储器由软件来实现,但硬件上仍需提供一块非易失存储器。

在软件实现中,按下列步骤实施:

1.在Boot Loader启动程序中,对物理地址空间进行划分,取一段物理地址空间给受保护的存储器作为特定存储区域。

2.启动加载Linux时,在剩下的物理空间上建立Linux操作系统的MMU,此时受保护存储器中的特定存储区域对应的物理地址空间在MMU中不可见。

3.编写该特定存储区域的底层驱动程序。此驱动程序用来完成该特定存储区域的读写操作。必须按照该存储器件的芯片手册中关于读、写等操作的具体指令来编写程序。受保护存储器中的特定存储区域的驱动程序只接受CA认证模块的调用,对其它内核或应用程序不可见。

4.根据加密芯片与CPU的通讯接口,编写该接口的驱动程序。比如如果使用UART接口,那么先实现UART驱动;如果是使用USB或PCI接口,那么先实现USB或PCI接口。然后根据加密芯片的芯片手册要求,编写私钥获取程序,此程序可通过接口驱动读取该加密芯片存放的私钥。私钥获取程序只接受CA认证模块的调用,对其它内核或应用程序不可见。

5.在操作系统中,增加CA认证模块。该模块:1)可调用特定存储区域的底层驱动程序;2)可调用私钥获取程序;3)包含非对称加密RSA算法认证程序。在RSA认证程序中对私钥的操作均应在受保护存储器中的特定存储区域内完成,不应使用临时内存或其他存储器,以防止私钥外泄。然后,再对进程管理PM模块进行优化,将认证过程加入到PM中。此时创建或调度进程PP前,先进行认证,然后决定运行结果。

6.按下列执行流程实现进程认证:1)携带公钥的进程(PP)由操作系统PM启动运行,并提交公钥给PM,此后PP进入等待状态;2)CA在操作系统启动后便开始运行,并一直处于等待状态;3)当PM收到公钥后,将公钥以管道、消息队列等方式提交给CA,从而激活CA运行;4)CA获得公钥后,调用私钥获取程序从加密芯片中提取出私钥,并使用非对称加密RSA算法进行认证,然后将认证结果返回给PM;5)如果认证通过,PM允许PP继续运行,如果认证不通过,PM禁止PP运行。在这个机制中,CA对PP不可见,只由PM调度;PM与CA之间,必须通过管道、消息队列等方式交互信息。

通过完成以上工作,即可建立一个可信计算体系架构的安全操作系统。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号