CN109492404A - 一种适用于VxWorks环境的可信引导系统 - Google Patents

一种适用于VxWorks环境的可信引导系统 Download PDF

Info

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
Application number
CN201811293268.3A
Other languages
English (en)
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.)
Beijing Jinghang Computing Communication Research Institute
Original Assignee
Beijing Jinghang Computing Communication Research Institute
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 Beijing Jinghang Computing Communication Research Institute filed Critical Beijing Jinghang Computing Communication Research Institute
Priority to CN201811293268.3A priority Critical patent/CN109492404A/zh
Publication of CN109492404A publication Critical patent/CN109492404A/zh
Pending legal-status Critical Current

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-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环境的可信引导系统
技术领域
本发明属于嵌入式信息安全技术领域,具体涉及一种适用于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比特的密文数据。
CN201811293268.3A 2018-11-01 2018-11-01 一种适用于VxWorks环境的可信引导系统 Pending CN109492404A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112037824A (zh) * 2020-09-03 2020-12-04 江苏新广联科技股份有限公司 一种光盘加密方法

Citations (3)

* Cited by examiner, † Cited by third party
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环境的可信引导设计方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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