CN110543769A - 一种基于加密tf卡的可信启动方法 - Google Patents
一种基于加密tf卡的可信启动方法 Download PDFInfo
- Publication number
- CN110543769A CN110543769A CN201910805681.1A CN201910805681A CN110543769A CN 110543769 A CN110543769 A CN 110543769A CN 201910805681 A CN201910805681 A CN 201910805681A CN 110543769 A CN110543769 A CN 110543769A
- Authority
- CN
- China
- Prior art keywords
- kernel
- measurement
- card
- starting
- calling
- 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.)
- Granted
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于加密TF卡的可信启动方法,本发明中,系统从bootloader开始启动,构建信任链实现对系统的完整性校验,bootloader启动后,度量kernel,将度量值与emmc上存储的度量值比较.如果匹配则启动kernel;kernel获得控制权,通过调用加密SD卡相应的接口,继续度量中间件、app,如果匹配,则系统启动,最终实现系统和上层应用程序的安全启动。有如下优点:实现了应用场景交互过程中的按需度量,增加了攻击者对移动终端进行攻击的复杂度,有效增强了移动终端的安全性,达到系统安全和交互安全的目的。
Description
技术领域
本发明涉及一种可信启动方法,尤其是涉及一种基于加密TF卡的移动设备可信启动方法。
背景技术
随着移动智能终端、移动通信网络的迅猛发展,特别是移动上网、数据业务等的普及,智能电网系统开始采用移动应用作为电网信息化的扩展。如用电信息采集、大坝及水文气象监测、生产、营销、物资、应急指挥、移动抢修等移动作业应用正采用或正逐步采用多种无线智能终端进行在线实时通讯。智能电网中主要使用的移动终端包括智能手机、PDA、平板电脑等,这些电力移动智能终端以其灵巧性、便捷性、高效性、灵敏性等特征大大提升了电力生产和运维信息化、现代化程度,已成为电力系统构建不可或缺的组成部分。
移动终端广泛应用于电网的业务中,其所搭载的操作系统由于本身的复杂性,涉及的组件和服务众多,很容易爆出漏洞,同时,暴露在用户态的应用程序也很容易遭受攻击。由于移动终端启动缺少对操作系统、应用程序的完整性检验,即移动终端运行在基于bootloader、操作系统及应用程序均默认安全的情况下,无法发现操作系统、应用程序被恶意篡改,同时也缺乏备份恢复的能力。
本项目基于大多数Android移动设备没有TPM硬件、移动终端平台资源受限、应用交互时脱离了安全信任链等问题,通过构建平台可信计算基,实现信任链一级一级传递,进而实现系统的可信启动,达到系统安全和交互安全的目的。
目前对移动终端设备的安全增强方法,大部分还是采用诸如SD卡加密对敏感数据进行保护,这些安全保护并没有从体系结构和操作系统等软硬件底层提供根本性的安全保障。
可信计算技术是近年来出现的一种新的信息系统安全技术,目前已在世界范围形成了热潮。它是提高计算机系统安全性的行之有效的新技术,因此也是解决移动终端安全问题的有效途径。
发明内容
本发明主要解决的技术问题是提供一种基于加密SD卡的可信移动终端,由于移动终端启动缺少对操作系统、应用程序的完整性检验,即移动终端运行在基于bootloader、操作系统及应用程序均默认安全的情况下,无法发现操作系统、应用程序被恶意篡改,同时也缺乏备份恢复的能力。本发明能够解决设备状态不可信和缺少安全存储的问题。
本发明还有一目的是解决现有技术所存在的技术问题;提供了一种利用加密SD卡,通过构建平台可信计算基,实现信任链一级一级传递,进而实现系统的可信启动的方法,达到系统安全和交互安全的目的。
本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种基于加密TF卡的可信启动方法,其特征在于,包括以下步骤:
步骤1,BootLoader度量:在系统加电后,系统从bootloader开始启动,对kernel进行度量,将度量值与加密TF卡中存储的PCR值比较,根据比较结果判断kernel是否可信,如果可信则继续启动,否则关闭;
步骤2,kernel度量,具体包括:
步骤2.1,BootLoader启动后,通过调用函数获得的摘要来校验kernel,完成对kernel的度量;具体是:bootloader的程序对kernel进行度量,调用SHA1Input(&sha,(const unsigned char*)buf_kernel,0x50000),采用SHA-1算法得到hash值作为各组件的摘要,初始生成的需要验证的模块度量值作为校验的标准值,调用write_refvalue_emmc(CFG_KERNEL_OFFSET,Message_Digest),密封保存在系统的磁盘固定扇区中;之后每次启动都将新的度量值与该标准值进行比对检验,通过read_refvalue_emmc(CFG_KERNEL_OFFSET,PCR)读取度量值,调用cmp_pcr(Message_Digest,PCR)进行度量值验证:如果完整性验证通过,则继续启动内核,如果验证不通过,则认为其完整性被破坏,可能代码被篡改,需要提示用户并中断kernel的启动过程;
步骤2.2,kernel继续对系统启动脚本init.rc以及其他启动关键节点进行安全性度量,具体是kernel启动后,系统调用加密TF卡中的sansec.SWSDDemo.sym,并加载android根文件系统;调用SWJAPI()和ShowMeasure()对android根文件系统中的关键应用程序进行安全度量;如果有不安全程序,则提示给用户;如果所有组件都通过安全度量,则android系统完成安全启动全部过程
步骤3,根文件系统度量:kernel启动后,再进行完整性验证,如果度量通过,系统将控制权交给init进程,init进程继续对MSapp.ko内核模块进行完整性度量;MSapp.ko模块实现对上层安全应用的可配置度量;若通过则继续启动内核,否则提示用户并中断根文件系统的启动过程;
系统调用加密SD卡中的sansec.SWSDDemo.sym,并加载android根文件系统;调用SWJAPI()和ShowMeasure()对android根文件系统中的关键应用程序进行安全度量;如果有不安全程序,则提示给用户;如果所有组件都通过安全度量,则android系统完成安全启动全部过程。
因此,本发明具有如下优点:该发明实现了应用场景交互过程中的按需度量,增加了攻击者对移动终端进行攻击的复杂度,有效增强了移动终端的安全性。
附图说明
图1是本发明基于可信计算的思想设计的系统的可信启动设计。
图2是由于加密SD卡的局限性,本发明设计实现的安全增强设计,增加了攻击者对移动终端进行攻击的复杂度,有效增强了移动终端的安全性。
图3是本发明的可信启动流程图。
图4是本发明的方法流程示意图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
一种基于加密TF卡的可信启动方法,包括以下步骤:
步骤1,BootLoader度量:在系统加电后,系统从bootloader开始启动,对kernel进行度量,将度量值与加密SD卡中存储的PCR值比较,根据比较结果判断kernel是否可信,如果可信则继续启动,否则关闭;
步骤2,kernel度量:BootLoader启动后,通过调用函数获得的摘要来校验kernel,将度量值与emmc上存储的度量值比较.如果匹配则启动kernel,然后系统将控制权交给Kernel,Kernel继续对系统启动脚本init.rc以及其他启动关键节点进行安全性度量,若不匹配则度量失败。若匹配则启动kernel,否则提示用户并中断kernel的启动过程;
步骤2.1,kernel继续对系统启动脚本init.rc以及其他启动关键节点进行安全性度量;
步骤3,根文件系统度量:kernel启动后,再进行完整性验证,如果度量通过,系统将控制权交给init进程,init进程继续对MSapp.ko内核模块进行完整性度量;
步骤3.1,如果度量通过,系统自动载入该内核模块。MSapp.ko模块实现对上层安全应用的可配置度量。若通过则继续启动内核,否则提示用户并中断根文件系统的启动过程。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (1)
1.一种基于加密TF卡的可信启动方法,其特征在于,包括以下步骤:
步骤1,BootLoader度量:在系统加电后,系统从bootloader开始启动,对kernel进行度量,将度量值与加密TF卡中存储的PCR值比较,根据比较结果判断kernel是否可信,如果可信则继续启动,否则关闭;
步骤2,kernel度量,具体包括:
步骤2.1,BootLoader启动后,通过调用函数获得的摘要来校验kernel,完成对kernel的度量;具体是:bootloader的程序对kernel进行度量,调用SHA1Input(&sha,(constunsigned char*)buf_kernel,0x50000),采用SHA-1算法得到hash值作为各组件的摘要,初始生成的需要验证的模块度量值作为校验的标准值,调用write_refvalue_emmc(CFG_KERNEL_OFFSET,Message_Digest),密封保存在系统的磁盘固定扇区中;之后每次启动都将新的度量值与该标准值进行比对检验,通过read_refvalue_emmc(CFG_KERNEL_OFFSET,PCR)读取度量值,调用cmp_pcr(Message_Digest,PCR)进行度量值验证:如果完整性验证通过,则继续启动内核,如果验证不通过,则认为其完整性被破坏,可能代码被篡改,需要提示用户并中断kernel的启动过程;
步骤2.2,kernel继续对系统启动脚本init.rc以及其他启动关键节点进行安全性度量,具体是kernel启动后,系统调用加密TF卡中的sansec.SWSDDemo.sym,并加载android根文件系统;调用SWJAPI()和ShowMeasure()对android根文件系统中的关键应用程序进行安全度量;如果有不安全程序,则提示给用户;如果所有组件都通过安全度量,则android系统完成安全启动全部过程
步骤3,根文件系统度量:kernel启动后,再进行完整性验证,如果度量通过,系统将控制权交给init进程,init进程继续对MSapp.ko内核模块进行完整性度量;MSapp.ko模块实现对上层安全应用的可配置度量;若通过则继续启动内核,否则提示用户并中断根文件系统的启动过程;
系统调用加密SD卡中的sansec.SWSDDemo.sym,并加载android根文件系统;调用SWJAPI()和ShowMeasure()对android根文件系统中的关键应用程序进行安全度量;如果有不安全程序,则提示给用户;如果所有组件都通过安全度量,则android系统完成安全启动全部过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910805681.1A CN110543769B (zh) | 2019-08-29 | 2019-08-29 | 一种基于加密tf卡的可信启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910805681.1A CN110543769B (zh) | 2019-08-29 | 2019-08-29 | 一种基于加密tf卡的可信启动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110543769A true CN110543769A (zh) | 2019-12-06 |
CN110543769B CN110543769B (zh) | 2023-09-15 |
Family
ID=68712214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910805681.1A Active CN110543769B (zh) | 2019-08-29 | 2019-08-29 | 一种基于加密tf卡的可信启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110543769B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857845A (zh) * | 2020-06-19 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 一种tf卡软件的完整性校验方法、装置及系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1952885A (zh) * | 2005-10-19 | 2007-04-25 | 联想(北京)有限公司 | 一种可进行完整性检测的计算机系统和方法 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
CN102436566A (zh) * | 2012-01-12 | 2012-05-02 | 冶金自动化研究设计院 | 一种动态可信度量方法及安全嵌入式系统 |
US20120266209A1 (en) * | 2012-06-11 | 2012-10-18 | David Jeffrey Gooding | Method of Secure Electric Power Grid Operations Using Common Cyber Security Services |
CN103646214A (zh) * | 2013-12-18 | 2014-03-19 | 国家电网公司 | 一种在配电终端中建立可信环境的方法 |
CN103927490A (zh) * | 2014-04-25 | 2014-07-16 | 华为技术有限公司 | 操作系统安全启动方法及装置 |
CN104298913A (zh) * | 2013-07-18 | 2015-01-21 | 中国科学院信息工程研究所 | 一种通用的智能终端安全启动方法 |
CN104951316A (zh) * | 2014-03-25 | 2015-09-30 | 华为技术有限公司 | 一种内核可信启动方法和装置 |
WO2015184891A1 (zh) * | 2014-11-20 | 2015-12-10 | 中兴通讯股份有限公司 | Android系统的安全管控方法、装置及其系统 |
CN106384053A (zh) * | 2016-09-14 | 2017-02-08 | 江苏北弓智能科技有限公司 | 移动操作系统可信启动方法和装置 |
CN108280351A (zh) * | 2017-12-25 | 2018-07-13 | 上海电力学院 | 一种基于tpm的用电采集终端的可信启动方法 |
CN109522721A (zh) * | 2017-09-19 | 2019-03-26 | 中国科学院沈阳自动化研究所 | 一种基于tpm的工业控制可信嵌入式平台的启动方法 |
-
2019
- 2019-08-29 CN CN201910805681.1A patent/CN110543769B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1952885A (zh) * | 2005-10-19 | 2007-04-25 | 联想(北京)有限公司 | 一种可进行完整性检测的计算机系统和方法 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
CN102436566A (zh) * | 2012-01-12 | 2012-05-02 | 冶金自动化研究设计院 | 一种动态可信度量方法及安全嵌入式系统 |
US20120266209A1 (en) * | 2012-06-11 | 2012-10-18 | David Jeffrey Gooding | Method of Secure Electric Power Grid Operations Using Common Cyber Security Services |
CN104298913A (zh) * | 2013-07-18 | 2015-01-21 | 中国科学院信息工程研究所 | 一种通用的智能终端安全启动方法 |
CN103646214A (zh) * | 2013-12-18 | 2014-03-19 | 国家电网公司 | 一种在配电终端中建立可信环境的方法 |
CN104951316A (zh) * | 2014-03-25 | 2015-09-30 | 华为技术有限公司 | 一种内核可信启动方法和装置 |
CN103927490A (zh) * | 2014-04-25 | 2014-07-16 | 华为技术有限公司 | 操作系统安全启动方法及装置 |
WO2015184891A1 (zh) * | 2014-11-20 | 2015-12-10 | 中兴通讯股份有限公司 | Android系统的安全管控方法、装置及其系统 |
CN106384053A (zh) * | 2016-09-14 | 2017-02-08 | 江苏北弓智能科技有限公司 | 移动操作系统可信启动方法和装置 |
CN109522721A (zh) * | 2017-09-19 | 2019-03-26 | 中国科学院沈阳自动化研究所 | 一种基于tpm的工业控制可信嵌入式平台的启动方法 |
CN108280351A (zh) * | 2017-12-25 | 2018-07-13 | 上海电力学院 | 一种基于tpm的用电采集终端的可信启动方法 |
Non-Patent Citations (5)
Title |
---|
李小将;梅栾芳;师俊芳;陈娟;: "基于TCM的嵌入式可信终端系统设计", 计算机工程与设计, no. 04 * |
秦坤文: "基于可信根的嵌入式终端安全性研究" * |
赵波: "嵌入式系统的安全启动机制研究与实现", 《COMPUTER ENGINEERING AND 2014,50(10) APPLICATIONS 计算机工程与应用》 * |
陈志锋;李清宝;张平;王炜;: "基于内存取证的内核完整性度量方法" * |
陈志锋;李清宝;张平;王炜;: "基于内存取证的内核完整性度量方法", 软件学报, no. 09 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857845A (zh) * | 2020-06-19 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 一种tf卡软件的完整性校验方法、装置及系统 |
CN111857845B (zh) * | 2020-06-19 | 2022-04-22 | 浪潮电子信息产业股份有限公司 | 一种tf卡软件的完整性校验方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110543769B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093258B2 (en) | Method for trusted booting of PLC based on measurement mechanism | |
Zhao et al. | Providing root of trust for ARM TrustZone using on-chip SRAM | |
CN107679393B (zh) | 基于可信执行环境的Android完整性验证方法和装置 | |
US8826405B2 (en) | Trusting an unverified code image in a computing device | |
US8254568B2 (en) | Secure booting a computing device | |
US11379586B2 (en) | Measurement methods, devices and systems based on trusted high-speed encryption card | |
CN104298913B (zh) | 一种通用的智能终端安全启动方法 | |
AU2012337403B2 (en) | Cryptographic system and methodology for securing software cryptography | |
US20180019880A1 (en) | System and method for verifying integrity of an electronic device | |
CN105468980A (zh) | 一种安全管控的方法、装置及系统 | |
US11354417B2 (en) | Enhanced secure boot | |
US10025932B2 (en) | Portable security device | |
CN104200165A (zh) | 一种基于国产cpu的主动可信度量方法 | |
US11803644B2 (en) | Security hardened processing device | |
US12032679B2 (en) | Apparatus and method for disk attestation | |
CN107908977B (zh) | 基于TrustZone的智能移动终端信任链安全传递方法及系统 | |
CN112257086A (zh) | 一种用户隐私数据保护方法及电子设备 | |
CN112511618A (zh) | 边缘物联代理防护方法及电力物联网动态安全可信系统 | |
CN110673526A (zh) | 物联网网络安全装置、系统及控制方法 | |
CN110543769B (zh) | 一种基于加密tf卡的可信启动方法 | |
CN104243457A (zh) | 移动终端的可信性衡量方法及系统 | |
KR20140112837A (ko) | 임베디드 시스템, 이를 포함하는 인증 시스템, 및 인증 방법 | |
Hei et al. | From hardware to operating system: a static measurement method of android system based on TrustZone | |
CN111625846A (zh) | 一种移动终端设备及系统状态记录方法 | |
CN109598150B (zh) | 一种密钥使用方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |