CN103679037B - 非对称加密认证方法和基于非对称加密认证的嵌入式设备 - Google Patents

非对称加密认证方法和基于非对称加密认证的嵌入式设备 Download PDF

Info

Publication number
CN103679037B
CN103679037B CN201310655436.XA CN201310655436A CN103679037B CN 103679037 B CN103679037 B CN 103679037B CN 201310655436 A CN201310655436 A CN 201310655436A CN 103679037 B CN103679037 B CN 103679037B
Authority
CN
China
Prior art keywords
program
private key
address
operating system
memory region
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.)
Active
Application number
CN201310655436.XA
Other languages
English (en)
Other versions
CN103679037A (zh
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.)
Hunan Great Wall Science and Technology Information Co., Ltd.
Changsha HCC Hiden Technology Co Ltd
Original Assignee
Greatwall Information Industry Co Ltd
Changsha HCC Hiden Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Greatwall Information Industry Co Ltd, Changsha HCC Hiden Technology Co Ltd filed Critical Greatwall Information Industry Co Ltd
Priority to CN201310655436.XA priority Critical patent/CN103679037B/zh
Publication of CN103679037A publication Critical patent/CN103679037A/zh
Application granted granted Critical
Publication of CN103679037B publication Critical patent/CN103679037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2121Chip on media, e.g. a disk or tape with a chip embedded in its case

Abstract

本发明公开了一种非对称加密认证方法和基于非对称加密认证的嵌入式设备,该方法为在硬件系统中设置一个用于生成私钥的加密芯片;并在存储空间中开辟一块特定存储区域用于存储与加密和解密相关的数据;当操作系统收到从内核中其它驱动或上层应用程序传来的公钥时,激活认证过程以完成认证;认证过程包括以下步骤:1)通过加密芯片的驱动程序从加密芯片读出私钥;2)将私钥保存到所述的特定存储区域;3)使用RSA算法解密,完成认证,并将认证结果返回到操作系统。该非对称加密认证方法和基于非对称加密认证的嵌入式设备安全性高,能有效保障关键数据不被修改、删除或窃取。

Description

非对称加密认证方法和基于非对称加密认证的嵌入式设备
技术领域
本发明涉及一种非对称加密认证方法和基于非对称加密认证的嵌入式设备。
背景技术
随着手持移动终端设备的技术发展,嵌入式设备(如平板电脑)已被广泛应用。目前嵌入式设备主要应用在普通民用领域,这些领域的需求具有通用性和普遍性,因此软硬件大多采用大众化、通用化的设计。
但在特殊应用领域,尤其是在保密、安全相关的应用领域,这种通用化的嵌入式设备并不适合,此时需要提供一些特定技术来满足保密、安全的相关要求。因此,有必要设计一种新型的加密认证方法和嵌入式设备,以满足特殊场合的保密、安全要求。
发明内容
本发明所要解决的技术问题是提供一种非对称加密认证方法和基于非对称加密认证的嵌入式设备,该非对称加密认证方法和基于非对称加密认证的嵌入式设备安全性高,能有效保障关键数据不被修改、删除或窃取。
发明的技术解决方案如下:
一种非对称加密认证方法,在硬件系统中设置一个用于生成私钥的加密芯片;并在存储器中开辟一块特定存储区域用于存储与加密和解密相关的数据;所述的存储器为内存【RAM】或FLASH存储器;
当操作系统收到从内核中其它驱动程序或上层应用程序传来的公钥时,激活认证过程以完成认证;
认证过程包括以下步骤:
1)通过加密芯片的驱动程序从加密芯片读出私钥;
2)将私钥保存到所述的特定存储区域;
3)使用RSA算法对传入的公钥进行解密,完成认证,并将认证结果返回到操作系统。
所述的特定存储区域只由认证过程对应的程序使用,在解密过程中,私钥及与私钥相关的数据均存储在该特定存储区域内,而不使用系统其他存储区域(如临时内存等)进行存储,解密完成后对特定存储区域进行清空。
所述的在存储器中开辟一块特定存储区域的方法为:通过Boot Loader启动程序对存储器的物理地址空间进行分配,即分为的被隐藏的地址区段和不受限制的地址区段;隐藏地址区段对应于特定存储区域,又称为受限制的地址区段;在Boot Loader启动程序中,通过配置处理器的基地址寄存器以及地址映射关系,使得Linux操作系统在建立MMU管理时,只在不受限制的地址区段上进行,而被隐藏的地址区段不参与MMU建立;使得在Linux系统启动后,MMU只能管理不受限制的物理地址区段;而被隐藏地址区段对MMU不可见,经过以上处理后,除指定的受信任的程序【如前述的认证过程所对应的程序,即认证程序】外,Linux操作系统及Linux操作系统上运行的程序都不能直接访问该被隐藏的地址区段;
通过指定的受信任的程序对该段隐藏的物理地址进行访问的实现方法为:该驱动程序不通过MMU的地址映射而是采用物理地址对该被隐藏的地址区段进行操作。
认证过程对应的程序【即认证程序】作为内核态程序运行在Linux操作系统中,受操作系统内核调度,内核中其它驱动或上层应用程序不能调用该程序。
一种基于非对称加密认证的嵌入式设备,包括处理器、LCD显示屏、内存、触摸屏控制器、FLASH存储器和USB接口;LCD显示屏、内存、触摸屏控制器、FLASH存储器和USB接口均与处理器连接;还包括用于生成私钥的加密芯片;所述的加密芯片与处理器连接;
还包括用于实现非对称加密认证的装置;所述用于实现非对称加密认证的装置包括:
在存储器中开辟一块特定存储区域用于存储与加密和解密相关的数据的装置;所述的存储器为内存【RAM】或FLASH存储器
当操作系统收到从内核中其它驱动程序或上层应用程序传来的公钥时,激活认证过程以完成认证的装置;
所述认证过程涉及到以下装置:
用于通过加密芯片的驱动程序从加密芯片读出私钥的装置;
用于将私钥保存到所述的特定存储区域的装置;
用于使用RSA算法对传入的公钥进行解密完成认证,并将认证结果返回到操作系统的装置。
嵌入式设备为平板电脑,所述的处理器为Exynos4412,FLASH存储器采用NANDFLASH存储器;内存为DDR3内存;还包括用于读写SD/TF器件的SD/TF插口;选用具有UART、I2C、SPI、PCI、USB任一接口的加密芯片,该加密芯片能提供2048位的私钥。
加密芯片采用TF32A09器件。
有益效果:
本发明的非对称加密认证方法和基于非对称加密认证的嵌入式设备,在整个嵌入式设备(如平板系统)中,只有该认证程序可以访问加密芯片及特定存储区域。涉及到私钥的操作均由该认证程序在特定存储区域(如内存或FLASH)内完成,内核中其它驱动或上层应用程序不能访问加密芯片及特定存储区域(如内存或FLASH)。此时实现这种机制的Linux操作系统就是一种具有安全特性的操作系统。基于这种安全操作系统实现的嵌入式设备(如平板系统)可对应用程序或驱动程序进行认证,确保这些数据或程序是受信的、安全的,从而增加了该嵌入式设备(如平板系统)的系统安全。
在本发明中,加密芯片提供私钥,公钥由内核中其它驱动或上层应用程序传入,认证程序在特定存储区域使用私钥对公钥进行认证,只有认证通过后,这些程序才能被操作系统调度运行,才有权对存储在内存中的数据或操作系统中使用到的数据进行操作,这种机制可以防止不受信任的程序对一些重要数据或信息的操作,增加了嵌入式设备的安全特性,因此可以广泛使用在对数据或信息安全有安全保密要求的应用领域。
附图说明
图1为硬件系统原理框图;
图2为认证程序实现示意图。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明:
实施例1:
如图1-2,硬件系统由一块生成私钥的加密芯片、Exynos4412处理器、触摸屏、串口、I2C口、SPI口、USB口、FLASH、SD/TF、DDR3、电源等组成。软件系统是在Linux操作系统基础上,新增一种非对称加密认证程序。该程序需完成以下工作:1)从加密芯片中获取私钥,2)将私钥保存到特定存储区域,3)获取内核中其它驱动或上层应用程序传入的公钥,4)在特定存储区域(如内存或FLASH)中使用RSA非对称加密算法进行密钥认证。该认证程序对应用程序不可见,只由操作系统调度。
本发明选用Exynos4412作为处理器,该处理器在平板领域有很好的应用,其不仅处理能力及性能强,而且接口丰富,可外挂各种类型的储存器。集成串口可用于对平板的调试。集成USB口用于平板的数据传输,也可用作平板初始化时的系统加载。存储器取用NANDFLASH和DDR3器件,也可取用外挂的SD/TF器件。可选用UART、I2C、SPI、PCI、USB等接口的加密芯片,其需实现RSA算法,并且可提供2048位的私钥。
在软件实施中,主要在Linux操作系统中增加一个认证程序或模块,该程序需实现以下功能:1)当操作系统启动后,认证程序就开始运行,并一直处于等待状态;2)当操作系统收到公钥后,会激活认证程序,此时认证程序取得公钥后运行;3)认证程序通过加密芯片的驱动程序读出私钥;4)将私钥保存到特定存储区域;5)认证程序使用RSA算法解密,完成认证,并将认证结果返回。
加密芯片的驱动程序主要完成对加密芯片的接口驱动以及芯片内部寄存器的读写。本系统使用的加密芯片是用串口与CPU连接,因此需先驱动串口,然后通过串口按芯片要求的数据协议完成芯片内部寄存器的读写。不同加密芯片的接口和内部寄存器读写方法会不同,因此编写驱动时应参考对应的芯片手册。
特定存储区域是指在系统内开辟一块存储区域只由认证程序使用,其它程序不能使用。在认证程序解密过程中,涉及到私钥及其相关数据时,均应在特定存储区域内,不应使用系统其他存储空间(如临时内存),解密完成后应对特定存储区域进行清空。
认证程序是作为内核态程序运行在Linux操作系统中的,是受操作系统内核调度的,内核中其它驱动程序或上层应用程序不能调用该程序。由于内核中其它驱动程序或上层应用程序的创建和调度都是由操作系统中的进程管理来完成的,因此这些驱动或应用程序在创建或调度时,必须先提交自己的公钥给进程管理,然后再由进程管理激活认证程序进行认证。
本发明的核心在于在硬件系统包含一块生成私钥的加密芯片。该芯片用来提供私钥给认证程序,且只接受认证程序的操作。软件系统是在Linux操作系统基础上,新增一种非对称加密认证程序。该认证程序需完成以下工作:1)从加密芯片中获取私钥,2)将私钥保存到特定存储区域(如内存或FLASH),3)接收内核中其它驱动或上层应用程序传入的公钥,4)在特定存储区域(如内存或FLASH)中使用RSA非对称加密算法进行密钥认证。该认证程序对应用程序不可见,只由操作系统调度。在整个平板系统中,只有认证程序可以操作特定存储区域(如内存或FLASH),涉及私钥的操作均由认证程序在该特定存储区域(如内存或FLASH)完成。
这部分内存空间需要采用地址隐藏技术,即由Boot Loader程序划分出隐藏地址空间,这段隐藏地址不参与操作系统的MMU建立,因此不受操作系统中的MMU管理,这段隐藏地址只能由认证程序进行读写操作。
可对平板应用中的关键数据或程序进行认证,确保这些数据或程序是受信的、安全的,从而增加了平板系统的安全特性。
本发明的技术解决方案如下:
1.在硬件系统中设计一块独立的加密芯片。该芯片用来提供私钥。
2.在Linux操作系统中,新增一个认证模块或程序。该认证程序需完成下列工作:1)从加密芯片中获取私钥,2)将私钥保存到特定存储区域(如内存或FLASH),3)获取内核中其它驱动或应用程序传入的公钥,4)在特定存储区域(如内存或FLASH)中使用RSA非对称加密算法进行密钥认证。说明:认证程序是在linux操作系统中增加的运行在内核态的程序,认证程序不需要运行在特定存储区域,但是该认证程序操作的私钥必须保存在特定存储区域,而且对私钥进行的操作也必须在特定存储区域完成。特定存储区域的作用只是用来保存私钥,以及保护私钥在使用过程中的安全;私钥也必须存放在特定存储区域,不能存在其他地方)。
认证结果将返回并提供给操作系统使用,操作系统将根据认证结果判断该程序是否受信,从而决定该程序是否可在操作系统中被创建或调度,及其是否允许进行其他操作。这样可间接的对操作系统中使用到的数据或内存中的数据起到了保护作用。如果程序或进程认证不通过,将由操作系统的进程管理直接禁止或KILL该程序或进程,该程序或进程将不被授权在本操作系统中运行。
通过Boot Loader启动程序对存储器的物理地址空间进行分配,即分为的被隐藏的地址区段和不受限制的地址区段;隐藏地址区段对应于特定存储区域,又称为受限制的地址区段;
在Boot Loader启动程序中,通过配置处理器的基地址寄存器以及地址映射关系,使得Linux操作系统在建立MMU管理时,只在不受限制的地址区段上进行,而被隐藏的地址区段不参与MMU建立。这样在Linux系统启动后,MMU只能管理不受限制的物理地址区段(包括地址映射、页表建立等);而被隐藏地址区段对MMU不可见,换而言之MMU根本不知道。经过以上处理后,Linux操作系统及其上运行的程序都不能直接访问该被隐藏的地址区段,甚至不知道有这段地址的存在。驱动程序(如本发明的认证程序)采用物理地址(实地址)对这段地址区域进行操作,类似于UBOOT程序中的地址操作方式,不考虑MMU的地址映射。对于不同的存储器件,该驱动程序实现的方法会不同,比如,若采用NAND FLASH存储器件作为隐藏地址的载体,因此该驱动程序必须针对NAND FLASH实现块设备的底层读写操作。

Claims (1)

1.一种非对称加密认证方法,其特征在于,在硬件系统中设置一个用于生成私钥的加密芯片;并在存储器中开辟一块特定存储区域用于存储与加密和解密相关的数据;所述的存储器为内存或FLASH存储器;
当操作系统收到从内核中其它驱动程序或上层应用程序传来的公钥时,激活认证过程以完成认证;并根据认证结果判断该程序是否受信,从而决定该驱动程序或上层应用程序是否可在操作系统中被创建或调度,及其是否允许进行其他操作;如果程序或进程认证不通过,将由操作系统的进程管理直接禁止或KILL该驱动程序或上层应用程序,该驱动程序或上层应用程序将不被授权在本操作系统中运行;
认证过程包括以下步骤:
1)通过加密芯片的驱动程序从加密芯片读出私钥;
2)将私钥保存到所述的特定存储区域;
3)使用RSA算法对传入的公钥进行解密,完成认证,并将认证结果返回到操作系统;所述的特定存储区域只由认证过程对应的程序使用,在解密过程中,私钥及与私钥相关的数据均存储在该特定存储区域内,而不使用系统其他存储区域进行存储,解密完成后对特定存储区域进行清空;
所述的在存储器中开辟一块特定存储区域的方法为:通过Boot Loader启动程序对存储器的物理地址空间进行分配,即分为被隐藏的地址区段和不受限制的地址区段;隐藏地址区段对应于特定存储区域,又称为受限制的地址区段;在Boot Loader启动程序中,通过配置处理器的基地址寄存器以及地址映射关系,使得Linux操作系统在建立MMU管理时,只在不受限制的地址区段上进行,而被隐藏的地址区段不参与MMU建立;使得在Linux系统启动后,MMU只能管理不受限制的物理地址区段;而被隐藏地址区段对MMU不可见,经过以上处理后,除指定的受信任的程序外,Linux操作系统及Linux操作系统上运行的程序都不能直接访问该被隐藏的地址区段;
指定的受信任的程序对该段隐藏的物理地址进行访问的实现方法为:该指定的受信任的程序不通过MMU的地址映射而是采用物理地址对该被隐藏的地址区段进行操作;
认证过程对应的程序作为内核态程序运行在Linux操作系统中,受操作系统内核调度,内核中其它驱动或上层应用程序不能调用该程序。
CN201310655436.XA 2013-12-05 2013-12-05 非对称加密认证方法和基于非对称加密认证的嵌入式设备 Active CN103679037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310655436.XA CN103679037B (zh) 2013-12-05 2013-12-05 非对称加密认证方法和基于非对称加密认证的嵌入式设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310655436.XA CN103679037B (zh) 2013-12-05 2013-12-05 非对称加密认证方法和基于非对称加密认证的嵌入式设备

Publications (2)

Publication Number Publication Date
CN103679037A CN103679037A (zh) 2014-03-26
CN103679037B true CN103679037B (zh) 2017-09-26

Family

ID=50316547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310655436.XA Active CN103679037B (zh) 2013-12-05 2013-12-05 非对称加密认证方法和基于非对称加密认证的嵌入式设备

Country Status (1)

Country Link
CN (1) CN103679037B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617128B (zh) * 2013-12-11 2016-08-17 长城信息产业股份有限公司 一种嵌入式系统及安全操作系统的实现方法
CN104200153B (zh) * 2014-09-12 2019-04-16 北京赛科世纪科技股份有限公司 一种启动验证方法和系统
CN104462885A (zh) * 2014-12-30 2015-03-25 大连楼兰科技股份有限公司 防止原始代码被获取的方法
CN104916302A (zh) * 2015-06-05 2015-09-16 浪潮集团有限公司 一种带有加密认证功能的usb移动存储
CN105787303B (zh) * 2016-03-22 2019-10-11 深圳森格瑞通信有限公司 一种嵌入式系统软件知识产权保护方法及保护系统
CN106817222B (zh) * 2016-12-14 2020-10-02 青岛海信宽带多媒体技术有限公司 用于光模块的阿里斯塔认证方法、认证装置和光模块
CN109840123B (zh) * 2017-11-28 2022-08-12 合肥美的智能科技有限公司 向用户展示数据的方法和装置
CN109525396B (zh) * 2018-09-30 2021-02-23 华为技术有限公司 一种身份秘钥的处理方法、装置和服务器
CN112615840B (zh) * 2020-12-11 2023-05-26 北京北信源软件股份有限公司 嵌入式设备准入认证方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025770A (zh) * 2006-02-20 2007-08-29 联想(北京)有限公司 一种启动受保护分区的方法
CN202196552U (zh) * 2011-09-05 2012-04-18 国民技术股份有限公司 一种电子显示装置及系统
CN102509047A (zh) * 2011-11-09 2012-06-20 北京赛科世纪数码科技有限公司 校验机顶盒中程序代码的方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050166051A1 (en) * 2004-01-26 2005-07-28 Mark Buer System and method for certification of a secure platform
CN101271430B (zh) * 2007-03-21 2011-11-02 联想(北京)有限公司 一种对存储设备中的数据进行保护的方法和装置
CN101123507A (zh) * 2007-10-08 2008-02-13 杭州华三通信技术有限公司 一种存储装置上数据信息的保护方法和存储装置
CN101458743A (zh) * 2007-12-12 2009-06-17 中国长城计算机深圳股份有限公司 一种保护计算机系统安全的方法
CN201477599U (zh) * 2009-09-04 2010-05-19 瑞达信息安全产业股份有限公司 可信计算密码平台

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025770A (zh) * 2006-02-20 2007-08-29 联想(北京)有限公司 一种启动受保护分区的方法
CN202196552U (zh) * 2011-09-05 2012-04-18 国民技术股份有限公司 一种电子显示装置及系统
CN102509047A (zh) * 2011-11-09 2012-06-20 北京赛科世纪数码科技有限公司 校验机顶盒中程序代码的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
嵌入式跨平台虚拟软件技术的研究与应用;高杰;《单片机与嵌入式系统应用》;20120430(第4期);正文第3.1-3.3节,图5 *

Also Published As

Publication number Publication date
CN103679037A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN103679037B (zh) 非对称加密认证方法和基于非对称加密认证的嵌入式设备
US9898624B2 (en) Multi-core processor based key protection method and system
KR101608510B1 (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
US10216913B2 (en) Mobile device with built-in access control functionality
US7613891B2 (en) Methods and apparatus for providing a read access control system associated with a flash device
KR102176612B1 (ko) 보안 서브시스템
US20050021944A1 (en) Security architecture for system on chip
US10372628B2 (en) Cross-domain security in cryptographically partitioned cloud
US10425821B2 (en) Mobile data storage device with access control functionality
US8910301B2 (en) System and method for locking and unlocking storage device
TW201342867A (zh) 保護對稱加密鑰的系統及方法
WO2011009370A1 (zh) 存储设备及访问控制系统、sd卡及其数据访问控制方法
CN103488919A (zh) 一种可执行程序的保护方法及装置
US20230059382A1 (en) Electronic device
CN103617128B (zh) 一种嵌入式系统及安全操作系统的实现方法
Chang et al. User-friendly deniable storage for mobile devices
CN106030602B (zh) 基于虚拟化的块内工作负荷隔离
CN102184143A (zh) 一种存储设备数据的保护方法、装置及系统
US20150227755A1 (en) Encryption and decryption methods of a mobile storage on a file-by-file basis
CN103617388B (zh) 一种具有进程可信认证的安全操作系统的实现方法
CN115994389A (zh) 一种基于risc-v架构的硬件内存加密系统及其应用
KR100606196B1 (ko) 모바일 플랫폼 트랜잭션을 위한 신뢰 입력
Liao et al. TrustZone enhanced plausibly deniable encryption system for mobile devices
KR100562255B1 (ko) 시큐리티 도메인의 키 초기화 방법
TWI673667B (zh) 內建智慧安全行動裝置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190806

Address after: 410205 Room 1001, Building 10, Changsha Zhongdian Software Park, 39 Jianshan Road, Changsha High-tech Development Zone, Changsha City, Hunan Province

Co-patentee after: Changsha HCC HIDEN Technology Co., Ltd.

Patentee after: Hunan Great Wall Science and Technology Information Co., Ltd.

Address before: 410100 East Road, Changsha economic and Technological Development Zone, Changsha, Hunan, China

Co-patentee before: Changsha HCC HIDEN Technology Co., Ltd.

Patentee before: GreatWall Information Industry Co., Ltd.

TR01 Transfer of patent right