CN109492404A - 一种适用于VxWorks环境的可信引导系统 - Google Patents
一种适用于VxWorks环境的可信引导系统 Download PDFInfo
- Publication number
- CN109492404A CN109492404A CN201811293268.3A CN201811293268A CN109492404A CN 109492404 A CN109492404 A CN 109492404A CN 201811293268 A CN201811293268 A CN 201811293268A CN 109492404 A CN109492404 A CN 109492404A
- Authority
- CN
- China
- Prior art keywords
- vxworks
- image file
- authentication code
- module
- encrypted
- 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.)
- Pending
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- 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/602—Providing cryptographic facilities or services
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于嵌入式信息安全技术领域,具体涉及一种适用于VxWorks环境的可信引导系统。该系统针对VxWorks镜像文件和用户应用程序进行加密,解决了核心知识产权在硬盘中明文存储的问题,使破解人员无法直接进行静态反编译和动态调试,有效地增加了破解难度及系统安全性,进一步保护了核心知识产权。
Description
技术领域
本发明属于嵌入式信息安全技术领域,具体涉及一种适用于VxWorks环境的可信引导系统,其为嵌入式可信计算和安全引导(bootrom)的设计,应用于在VxWorks环境下,用户对操作系统安全性要求和用户应用程序安全性要求较高的场景。
背景技术
VxWorks操作系统是美国WindRiver公司设计的一种嵌入式实时操作系统,其良好的可靠性和卓越的实时性被广泛应用于通信、军事、航空、航天等领域中,如卫星通讯、弹道制导、飞机导航等。如何更好的保证VxWorks操作系统镜像及用户应用程序,提高系统整体安全性,成为人们关注的问题。
目前,VxWorks操作系统的上电引导采用设计BootRom方式,首先上电启动后,运行BootRom程序,在BootRom中完成硬件初始化等操作,同时将VxWorks操作系统镜像加载到内存中,并跳转到镜像入口,启动操作系统内核。操作系统内核启动后,切换到系统用户态,调用用户自定义应用程序.out文件,启动用户程序。
当前的较多应用中,并无对VxWorks操作系统镜像及用户应用程序进行可信引导设计,此时编译后的镜像程序或用户应用程序可以通过静态反编译、动态调试等手段被破解,被非法人员获取到源码或开发人员思维意图,造成知识产权遭到侵犯,甚至篡改、破坏操作系统和应用程序文件,造成不可预计的严重后果。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何解决VxWorks环境下,操作系统镜像和用户应用程序安全问题,以期有效提高软件的安全性。
(二)技术方案
为解决上述技术问题,本发明提供一种适用于VxWorks环境的可信引导系统,所述系统包括:VxWorks镜像文件读取模块、认证码生成模块、加密模块、写入模块、引导模块;
所述VxWorks镜像文件读取模块用于在系统BootRom程序中,打开VxWorks镜像文件,读取VxWorks镜像文件头部的结构体数据,判断此VxWorks镜像文件是否已加密;如果未加密,则读取VxWorks镜像文件长度大小并申请相等内存空间,将VxWorks镜像文件的二进制数据读取到相应内存空间中;如果已加密则将加密后VxWorks镜像文件传送至引导模块;
所述认证码生成模块用于对读取的VxWorks镜像文件的二进制数据进行HMAC认证码生成;所述认证码生成模块根据VxWorks镜像文件读取模块得到的VxWorks镜像文件的长度tlen,进行补充k比特0,得到补充后的二进制数据长度满足tlen+k=448mod512,对补充后的二进制数据进行HMAC认证处理,生成HMAC认证码,作为软件完整性校验基准值;
所述加密模块用于对读取的VxWorks镜像文件的二进制数据进行加密;所述加密模块将VxWorks镜像文件读取模块读取的二进制数据填充km比特0,使得tlen+km=0mod128,形成填充后的二进制数据长度为len;对填充后的二进制数据进行加密处理,生成加密后的长度为len=tlen+km比特的密文数据;
所述写入模块用于将加密后的密文数据回写到VxWorks镜像文件中,并在VxWorks镜像文件头部写入加密结构体数据,作为加密后的文件标记,将密文数据及文件标记回写到VxWorks镜像文件中后,形成加密后VxWorks镜像文件,然后再关闭该加密后VxWorks镜像文件;
所述引导模块用于在确认VxWorks镜像文件为加密后的情况下,打开已存在的加密后VxWorks镜像文件,读取VxWorks镜像文件头部的加密结构体数据;对长度为len的密文数据采用对称加密算法进行解密操作,获取解密得到的HMAC认证码,依据解密得到的HMAC认证码完成VxWorks镜像文件的安全引导。
其中,所述认证码生成模块通过SHA2单向散列算法来进行HMAC认证,生成HMAC认证码。
其中,所述认证码生成模块所生成的HMAC认证码为256比特。
其中,所述加密模块通过分组加密算法AES对读取的二进制数据进行加密处理。
其中,所述加密结构体数据中包含:加密后的文件标记、密文数据长度len。
其中,所述引导模块的引导过程为:首先,解密len比特长度的密文数据,得到明文的原始二进制数据,然后依据解密得到的HMAC认证码,与由认证码生成模块生成的作为完整性校验基准值的HMAC认证码进行比较,如果两者一致,则完成可信引导,否则认证失败,退出引导过程。
其中,所述引导模块使用AES解密算法解密len比特的密文数据。
(三)有益效果
与现有技术相比较,本发明系统性地针对VxWorks镜像文件和用户应用程序进行加密,解决了核心知识产权在硬盘中明文存储的问题,使破解人员无法直接进行静态反编译和动态调试,有效地增加了破解难度及系统安全性,进一步保护了核心知识产权。
附图说明
图1为本发明技术方案原理图。
图2为本发明技术方案流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为了解决上述技术问题,如图1所示,本发明采用的技术方案是:根据嵌入式可信计算设计思想,在系统BootRom中读取VxWorks镜像文件,采用分组算法AES对其进行加密,采用SHA2生成镜像数据的HMAC认证码,作为完整性校验基准值,完成系统镜像的安全引导。在系统VxWorks镜像文件中,读取out用户应用程序,并采用分组算法AES对其进行加密,采用SHA2生成镜像数据的HMAC认证码,作为完整性校验基准值,完成用户应用程序的安全引导。
具体而言,为解决现有技术的问题,本发明提供为解决上述技术问题,本发明提供一种适用于VxWorks环境的可信引导系统,所述系统包括:VxWorks镜像文件读取模块、认证码生成模块、加密模块、写入模块、引导模块;
所述VxWorks镜像文件读取模块用于在系统BootRom程序中,打开VxWorks镜像文件,读取VxWorks镜像文件头部的结构体数据,判断此VxWorks镜像文件是否已加密;如果未加密,则读取VxWorks镜像文件长度大小并申请相等内存空间,将VxWorks镜像文件的二进制数据读取到相应内存空间中;如果已加密则将加密后VxWorks镜像文件传送至引导模块;
所述认证码生成模块用于对读取的VxWorks镜像文件的二进制数据进行HMAC认证码生成;所述认证码生成模块根据VxWorks镜像文件读取模块得到的VxWorks镜像文件的长度tlen,进行补充k比特0,得到补充后的二进制数据长度满足tlen+k=448mod512,对补充后的二进制数据进行HMAC认证处理,生成HMAC认证码,作为软件完整性校验基准值;
所述加密模块用于对读取的VxWorks镜像文件的二进制数据进行加密;所述加密模块将VxWorks镜像文件读取模块读取的二进制数据填充km比特0,使得tlen+km=0mod128,形成填充后的二进制数据长度为len;对填充后的二进制数据进行加密处理,生成加密后的长度为len=tlen+km比特的密文数据;
所述写入模块用于将加密后的密文数据回写到VxWorks镜像文件中,并在VxWorks镜像文件头部写入加密结构体数据,作为加密后的文件标记,将密文数据及文件标记回写到VxWorks镜像文件中后,形成加密后VxWorks镜像文件,然后再关闭该加密后VxWorks镜像文件;
所述引导模块用于在确认VxWorks镜像文件为加密后的情况下,打开已存在的加密后VxWorks镜像文件,读取VxWorks镜像文件头部的加密结构体数据;对长度为len的密文数据采用对称加密算法进行解密操作,获取解密得到的HMAC认证码,依据解密得到的HMAC认证码完成VxWorks镜像文件的安全引导。
其中,所述认证码生成模块通过SHA2单向散列算法来进行HMAC认证,生成HMAC认证码。
其中,所述认证码生成模块所生成的HMAC认证码为256比特。
其中,所述加密模块通过分组加密算法AES对读取的二进制数据进行加密处理。
其中,所述加密结构体数据中包含:加密后的文件标记、密文数据长度len。
其中,所述引导模块的引导过程为:首先,解密len比特长度的密文数据,得到明文的原始二进制数据,然后依据解密得到的HMAC认证码,与由认证码生成模块生成的作为完整性校验基准值的HMAC认证码进行比较,如果两者一致,则完成可信引导,否则认证失败,退出引导过程。
其中,所述引导模块使用AES解密算法解密len比特的密文数据。
此外,本发明还提供一种适用于VxWorks环境的可信引导方法,如图2所示,所述方法包括如下步骤:
步骤1:在系统BootRom程序中,打开VxWorks镜像文件,读取VxWorks镜像文件头部的结构体数据,判断此VxWorks镜像文件是否已加密;
如果未加密,则读取VxWorks镜像文件长度大小并申请相等内存空间,将VxWorks镜像文件的二进制数据读取到相应内存空间中;
如果已加密则跳转到步骤5;
步骤2:对读取的VxWorks镜像文件的二进制数据进行HMAC认证码生成;
根据步骤1得到的VxWorks镜像文件的长度tlen,进行补充k比特0,得到补充后的二进制数据长度满足tlen+k=448mod512,对补充后的二进制数据进行HMAC认证处理,生成HMAC认证码,作为软件完整性校验基准值;
步骤3:对读取的VxWorks镜像文件的二进制数据进行加密;
将步骤1读取的二进制数据填充km比特0,使得tlen+km=0mod128,形成填充后的二进制数据长度为len;对填充后的二进制数据进行加密处理,生成加密后的长度为len=tlen+km比特的密文数据;
步骤4:将加密后的密文数据回写到VxWorks镜像文件中,并在VxWorks镜像文件头部写入加密结构体数据,作为加密后的文件标记,将密文数据及文件标记回写到VxWorks镜像文件中后,形成加密后VxWorks镜像文件,然后再关闭该加密后VxWorks镜像文件;
步骤5:在确认VxWorks镜像文件为加密后的情况下,打开已存在的加密后VxWorks镜像文件,读取VxWorks镜像文件头部的加密结构体数据;对长度为len的密文数据采用对称加密算法进行解密操作,获取解密得到的HMAC认证码,依据解密得到的HMAC认证码完成VxWorks镜像文件的安全引导。
其中,所述步骤2中,通过SHA2单向散列算法来进行HMAC认证,生成HMAC认证码。
其中,所述步骤2中,所述生成的HMAC认证码为256比特。
其中,所述步骤3中,通过分组加密算法AES对读取的二进制数据进行加密处理。AES(高级加密标准)是NIST(美国国家标准与技术研究所)2001年公布的算法,具有较高的安全性。
其中,所述步骤5中,加密结构体数据中包含:加密后的文件标记、密文数据长度len。
其中,所述步骤5中,首先,解密len比特长度的密文数据,得到明文的原始二进制数据,然后依据解密得到的HMAC认证码,与由步骤2生成的作为完整性校验基准值的HMAC认证码进行比较,如果两者一致,则完成可信引导,否则认证失败,退出引导过程。
其中,使用AES解密算法解密len比特的密文数据。
采用本发明技术方案后,VxWorks镜像文件和用户应用程序等核心知识产权在硬盘中采用密文存储,破解人员无法直接进行静态反编译和动态调试,有效地增加了破解难度及系统安全性,进一步保护了核心知识产权。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (7)
1.一种适用于VxWorks环境的可信引导系统,其特征在于,所述系统包括:VxWorks镜像文件读取模块、认证码生成模块、加密模块、写入模块、引导模块;
所述VxWorks镜像文件读取模块用于在系统BootRom程序中,打开VxWorks镜像文件,读取VxWorks镜像文件头部的结构体数据,判断此VxWorks镜像文件是否已加密;如果未加密,则读取VxWorks镜像文件长度大小并申请相等内存空间,将VxWorks镜像文件的二进制数据读取到相应内存空间中;如果已加密则将加密后VxWorks镜像文件传送至引导模块;
所述认证码生成模块用于对读取的VxWorks镜像文件的二进制数据进行HMAC认证码生成;所述认证码生成模块根据VxWorks镜像文件读取模块得到的VxWorks镜像文件的长度tlen,进行补充k比特0,得到补充后的二进制数据长度满足tlen+k=448mod512,对补充后的二进制数据进行HMAC认证处理,生成HMAC认证码,作为软件完整性校验基准值;
所述加密模块用于对读取的VxWorks镜像文件的二进制数据进行加密;所述加密模块将VxWorks镜像文件读取模块读取的二进制数据填充km比特0,使得tlen+km=0mod128,形成填充后的二进制数据长度为len;对填充后的二进制数据进行加密处理,生成加密后的长度为len=tlen+km比特的密文数据;
所述写入模块用于将加密后的密文数据回写到VxWorks镜像文件中,并在VxWorks镜像文件头部写入加密结构体数据,作为加密后的文件标记,将密文数据及文件标记回写到VxWorks镜像文件中后,形成加密后VxWorks镜像文件,然后再关闭该加密后VxWorks镜像文件;
所述引导模块用于在确认VxWorks镜像文件为加密后的情况下,打开已存在的加密后VxWorks镜像文件,读取VxWorks镜像文件头部的加密结构体数据;对长度为len的密文数据采用对称加密算法进行解密操作,获取解密得到的HMAC认证码,依据解密得到的HMAC认证码完成VxWorks镜像文件的安全引导。
2.如权利要求1所述的适用于VxWorks环境的可信引导系统,其特征在于,所述认证码生成模块通过SHA2单向散列算法来进行HMAC认证,生成HMAC认证码。
3.如权利要求1所述的适用于VxWorks环境的可信引导系统,其特征在于,所述认证码生成模块所生成的HMAC认证码为256比特。
4.如权利要求1所述的适用于VxWorks环境的可信引导方法,其特征在于,所述加密模块通过分组加密算法AES对读取的二进制数据进行加密处理。
5.如权利要求1所述的适用于VxWorks环境的可信引导系统,其特征在于,所述加密结构体数据中包含:加密后的文件标记、密文数据长度len。
6.如权利要求1所述的适用于VxWorks环境的可信引导系统,其特征在于,所述引导模块的引导过程为:首先,解密len比特长度的密文数据,得到明文的原始二进制数据,然后依据解密得到的HMAC认证码,与由认证码生成模块生成的作为完整性校验基准值的HMAC认证码进行比较,如果两者一致,则完成可信引导,否则认证失败,退出引导过程。
7.如权利要求5所述的适用于VxWorks环境的可信引导系统,其特征在于,所述引导模块使用AES解密算法解密len比特的密文数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811293268.3A CN109492404A (zh) | 2018-11-01 | 2018-11-01 | 一种适用于VxWorks环境的可信引导系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811293268.3A CN109492404A (zh) | 2018-11-01 | 2018-11-01 | 一种适用于VxWorks环境的可信引导系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109492404A true CN109492404A (zh) | 2019-03-19 |
Family
ID=65693640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811293268.3A Pending CN109492404A (zh) | 2018-11-01 | 2018-11-01 | 一种适用于VxWorks环境的可信引导系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109492404A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037824A (zh) * | 2020-09-03 | 2020-12-04 | 江苏新广联科技股份有限公司 | 一种光盘加密方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270288A (zh) * | 2011-09-06 | 2011-12-07 | 中国人民解放军国防科学技术大学 | 基于反向完整性验证的操作系统可信引导方法 |
CN103530548A (zh) * | 2013-10-22 | 2014-01-22 | 山东神思电子技术股份有限公司 | 基于移动可信计算模块的嵌入式终端可信启动方法 |
CN105550586A (zh) * | 2014-10-30 | 2016-05-04 | 北京京航计算通讯研究所 | 一种适用于dsp环境的可信引导设计方法 |
-
2018
- 2018-11-01 CN CN201811293268.3A patent/CN109492404A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270288A (zh) * | 2011-09-06 | 2011-12-07 | 中国人民解放军国防科学技术大学 | 基于反向完整性验证的操作系统可信引导方法 |
CN103530548A (zh) * | 2013-10-22 | 2014-01-22 | 山东神思电子技术股份有限公司 | 基于移动可信计算模块的嵌入式终端可信启动方法 |
CN105550586A (zh) * | 2014-10-30 | 2016-05-04 | 北京京航计算通讯研究所 | 一种适用于dsp环境的可信引导设计方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037824A (zh) * | 2020-09-03 | 2020-12-04 | 江苏新广联科技股份有限公司 | 一种光盘加密方法 |
CN112037824B (zh) * | 2020-09-03 | 2021-11-02 | 江苏新广联科技股份有限公司 | 一种光盘加密方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101651543B (zh) | 一种可信计算平台密钥迁移系统及其密钥迁移方法 | |
US9673975B1 (en) | Cryptographic key splitting for offline and online data protection | |
CN107408175B (zh) | 用于自加密驱动的挑战响应认证 | |
US9043610B2 (en) | Systems and methods for data security | |
US9240883B2 (en) | Multi-key cryptography for encrypting file system acceleration | |
EP2166479A1 (en) | Accelerated cryptography with an encryption attribute | |
ES2952534T3 (es) | Un método, un sistema y un aparato que usan criptografía de seguridad hacia adelante para la verificación de códigos de acceso | |
US11606202B2 (en) | Methods and systems for secure data transmission | |
US8245307B1 (en) | Providing secure access to a secret | |
CN105468940B (zh) | 软件保护方法及装置 | |
US20170085540A1 (en) | Secure data re-encryption | |
CN103914662A (zh) | 一种基于分区的文件加密系统的访问控制方法和装置 | |
KR20200116008A (ko) | 암호 동작들의 안전한 수행 | |
CN112385175B (zh) | 一种用于数据加密和完整性的设备 | |
US9590806B2 (en) | Secure provisioning of semiconductor chips in untrusted manufacturing factories | |
CN109492404A (zh) | 一种适用于VxWorks环境的可信引导系统 | |
CN110008724B (zh) | 固态硬盘控制器安全加载方法、装置及存储介质 | |
US8413906B2 (en) | Countermeasures to secure smart cards | |
KR101214899B1 (ko) | 유에스비 보안장치 및 그 보안 방법 | |
CN109428720B (zh) | 一种数据加密方法、解密方法、加密系统及解密系统 | |
CN109491712A (zh) | 一种适用于VxWorks环境的可信引导方法 | |
CN201479144U (zh) | 一种可信计算平台密钥迁移系统 | |
KR20190112959A (ko) | 암호화 데이터를 이용하는 기계학습 모델 운영방법 및 기계학습 모델 기반 장치 | |
CN113343215A (zh) | 嵌入式软件的授权和认证方法及电子设备 | |
JP2008147946A (ja) | 認証方法、認証システム、及び外部記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190319 |
|
RJ01 | Rejection of invention patent application after publication |