CN112579374B - 一种用于嵌入式设备的安全调试的***和方法 - Google Patents

一种用于嵌入式设备的安全调试的***和方法 Download PDF

Info

Publication number
CN112579374B
CN112579374B CN202011484069.8A CN202011484069A CN112579374B CN 112579374 B CN112579374 B CN 112579374B CN 202011484069 A CN202011484069 A CN 202011484069A CN 112579374 B CN112579374 B CN 112579374B
Authority
CN
China
Prior art keywords
certificate
chip
validity period
debugging
execution environment
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
CN202011484069.8A
Other languages
English (en)
Other versions
CN112579374A (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.)
Huizhou Desay SV Intelligent Transport Technology Research Institute Co Ltd
Original Assignee
Huizhou Desay SV Intelligent Transport Technology Research Institute 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 Huizhou Desay SV Intelligent Transport Technology Research Institute Co Ltd filed Critical Huizhou Desay SV Intelligent Transport Technology Research Institute Co Ltd
Priority to CN202011484069.8A priority Critical patent/CN112579374B/zh
Publication of CN112579374A publication Critical patent/CN112579374A/zh
Application granted granted Critical
Publication of CN112579374B publication Critical patent/CN112579374B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种用于嵌入式设备的安全调试的***和方法,通过芯片ID和预设定的证书有效期作为输入,生成用于身份认证的证书,进而将证书拷贝至嵌入式***,客户端应用程序检测到证书,将证书传输到可信执行环境侧,所述可信执行环境侧的可信应用程序使用存储在所述可信执行环境中的公钥,对收到的证书进行验证,从而避免黑客轻易使用量产设备的调试端口,对***进行探测、入侵,和对证书有效期和芯片ID进行检查,避免证书被窃取后用于同类型的其他设备。

Description

一种用于嵌入式设备的安全调试的***和方法
技术领域
本发明涉及通信技术领域,尤其是涉及一种用于嵌入式设备的安全调试的***和方法。
背景技术
嵌入式设备在使用过程中,不可避免地会出现一些棘手的软件缺陷,工程师可能需要获取出现问题的设备,复现此类缺陷,并通过调试端口对***相关的模块进行调试分析,因此很多嵌入式设备在量产时还是会保留调试模块,便于在出现类似上述售后问题时进行分析。但是所保留的设备的调试端口同样也可以被黑客所利用,增加了***被入侵的风险,同时,一台设备的调试端口被黑客成功利用,其他的设备将面临同样的风险,加上使用调试端口时缺乏身份认证,任何人都可以轻易打开调试端口,使得嵌入式设备一直处于不安全的使用环境中。
发明内容
针对上述问题,本技术创新地提出了一种用于嵌入式设备的安全调试的***和方法,可信执行环境通过软硬件隔离的技术,为应用提供一个可信的、安全的运行环境,该方法利用在可信执行环境运行的应用程序对请求使用调试端口的人员进行身份认证,确保只有经过合法授权的人员才能使用***的调试端口。
具体的,本发明所述的一种用于嵌入式设备的安全调试的***和方法,包括:
证书生成服务器,根据输入芯片ID和预设定的证书有效期,生成用于身份认证的证书;
备份模块,将生成好的证书拷贝,并发送到嵌入式***;
所述嵌入式***,将证书传送给可信执行环境上运行的可信应用程序,所述可信应用程序利用存储在所述可信执行环境中的的公钥,对证书的签名进行验证。
所述证书的签名进行验证还包括:如果签名验证通过,则读取证书中的芯片ID和证书有效期,获取证书有效期后,所述可信应用程序将有效期和当前***时间进行对比,如果证书已经过期,则不允许打开调试端口。
还包括:当所述可信执行环境侧的程序获取到当前设备的芯片ID,在证书的签名验证通过后,将证书中的有效期和当前***时间进行对比,证书仍在有效期内,所述可信应用程序才读取设备的芯片ID,并和证书中保存的芯片ID进行比较,如果不一致,则无法打开调试端口。
进一步的,不同的设备的芯片ID均不一样。
进一步的,还包括:在生成用于身份认证的证书前,根据设备的产品ID,在数据库中查询该产品ID对应的芯片ID,用于生成用于身份认证的证书。
作为另一优选的,本发明还提供了一种用于嵌入式设备的安全调试的方法,包括以下步骤:
S1:获取嵌入式设备的产品ID,在数据库中查询该产品ID对应的芯片ID;
S2:将芯片ID和当前时间作为输入,生成证书;
S3:将证书拷贝至嵌入式***的操作***(Rich OS)上,经其上的客户端应用程序(Client applications,CA)检测到证书后,将证书传输到可信执行环境侧;
S4:所述可信执行环境侧的可信应用程序使用存储在所述可信执行环境中的公钥,对收到的证书进行验证。
进一步的,所述S4还包括:
S41:如果证书通过验证,则读取证书中存储的芯片ID和证书有效期;
S42: 将从证书中读取的证书有效期,和当前***时间进行对比,检查证书是否过期;
S43: 将从证书中读取的芯片ID和当前设备的芯片ID进行对比,如果一致,则开启调试端口;如果证书已经过期,则不允许打开调试端口。
进一步的,当所述可信执行环境侧的程序获取到当前设备的芯片ID,且在证书的签名验证通过后,所述可信应用程序才读取设备的芯片ID,并和证书中保存的芯片ID进行比较,如果不一致,则无法打开调试端口。
进一步的,不同的设备的芯片ID均不一样。
进一步的,在生成用于身份认证的证书前,根据设备的产品ID,在数据库中查询该产品ID对应的芯片ID,用于生成用于身份认证的证书。
综上所述,本发明提供一种用于嵌入式设备的安全调试的***和方法,通过芯片ID和预设定的证书有效期作为输入,生成用于身份认证的证书,进而将证书拷贝至嵌入式***,客户端应用程序检测到证书,将证书传输到可信执行环境侧,所述可信执行环境侧的可信应用程序使用存储在所述可信执行环境中的公钥,对收到的证书进行验证,从而避免黑客轻易使用量产设备的调试端口,对***进行探测、入侵,和对证书有效期和芯片ID进行检查,避免证书被窃取后用于同类型的其他设备。
附图说明
图1为一实施例中的用于嵌入式设备的安全调试的***示意图。
图2为一用于实现图1中所述***的一种用于嵌入式设备的安全调试的方法流程图。
具体实施方式
下面将结合具体实施例及附图对本发明的一种用于嵌入式设备的安全调试的***和方法,作进一步详细描述。
如图1所示为本发明提供的用于嵌入式设备的安全调试的***示意图,包括:
证书生成服务器,根据输入芯片ID和预设定的证书有效期,生成用于身份认证的证书;
备份模块,将生成好的证书拷贝,并发送到嵌入式***;
所述嵌入式***,包括设置于所述所述嵌入式***上的操作***,及设置于所述操作***上的客户端应用程序,用于将证书传送给可信执行环境上运行的可信应用程序,所述可信应用程序利用存储在所述可信执行环境中的的公钥,对证书的签名进行验证。
其中,所述证书的签名进行验证还包括:如果签名验证通过,则读取证书中的芯片ID和证书有效期,获取证书有效期后,所述可信应用程序将有效期和当前***时间进行对比,如果证书已经过期,则不允许打开调试端口。只有签名验证通过、该证书还未过期且证书中的芯片ID和当前设备的芯片ID一致,才能开启调试端口。
还包括:当所述可信执行环境侧的程序获取到当前设备的芯片ID,在证书的签名验证通过后,将证书中的有效期和当前***时间进行对比,证书仍在有效期内,所述可信应用程序才读取设备的芯片ID,并和证书中保存的芯片ID进行比较,如果不一致,则无法打开调试端口。
不同的设备的芯片ID均不一样。
还包括:在生成用于身份认证的证书前,根据设备的产品ID,在数据库中查询该产品ID对应的芯片ID,用于生成用于身份认证的证书。
作为另一优选的,本发明还提供了一种用于嵌入式设备的安全调试的方法(如图2所示),包括以下步骤:
步骤1:开始,并获取设备的产品ID;
步骤2:生成证书;
根据设备的产品ID,在数据库中查询该产品ID对应的芯片ID,用于生成用于身份认证的证书;
步骤3:判断所述证书是否合法,若合法进行步骤4,否则,进入步骤7;
通过可信应用程序,利用存储在TEE的公钥,对证书的签名进行验证;即当客户端接收到服务器的数字证书的时候,会通过***中内置的CA公钥进行解密,如果解密成功说明公钥是有效的,否则就是不受信任的证书。
步骤4:判断所述证书是否过期,若未过期进行步骤5,否则,进入步骤7;
如果签名验证通过,则读取证书中的芯片ID和证书有效期。获取证书有效期后,TA将有效期和当前***时间进行对比,如果证书已经过期,则不允许打开调试端口。
步骤5:判断所述芯片ID是否正确,若正确进行步骤4,否则,进入步骤7;
每部设备的芯片ID各不相同,且只有TEE侧的程序可以获取到当前设备的芯片ID,证书的签名验证通过后,TA读取设备的芯片ID,和证书中保存的芯片ID进行比较,如果不一致,则无法打开调试端口,通过这种方法,可以避免证书泄露后,所有设备的调试端口都可以被打开。
只有签名验证通过、该证书还未过期且证书中的芯片ID和当前设备的芯片ID一致,才能开启调试端口。
步骤6:开启调试端口,进入嵌入式设备及其***,直至操作完成,进入步骤7;
步骤7:结束流程。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (7)

1.一种用于嵌入式设备的安全调试的***,其特征在于,包括:证书生成服务器,根据输入芯片ID和预设定的证书有效期,生成用于身份认证的证书;备份模块,将生成好的证书拷贝,并发送到嵌入式***;所述嵌入式***,将证书传送给可信执行环境上运行的可信应用程序,所述可信应用程序利用存储在所述可信执行环境中的公钥,对证书的签名进行验证;
所述证书的签名进行验证还包括:如果签名验证通过,则读取证书中的芯片ID和证书有效期,获取证书有效期后,所述可信应用程序将有效期和当前***时间进行对比,如果证书已经过期,则不允许打开调试端口;
当所述可信执行环境侧的程序获取到当前设备的芯片ID,且在证书的签名验证通过后,所述可信应用程序才读取设备的芯片ID,并和证书中保存的芯片ID进行比较,如果不一致,则无法打开调试端口。
2.根据权利要求1所述的用于嵌入式设备的安全调试的***,其特征在于,不同的设备的芯片ID均不一样。
3.根据权利要求2所述的用于嵌入式设备的安全调试的***,其特征在于,还包括:在生成用于身份认证的证书前,根据设备的产品ID,在数据库中查询该产品ID对应的芯片ID,用于生成用于身份认证的证书。
4.一种用于嵌入式设备的安全调试的方法,其特征在于,包括以下步骤:S1:获取嵌入式设备的产品ID,在数据库中查询该产品ID对应的芯片ID;S2:将芯片ID和当前时间作为输入,生成证书;S3:将证书拷贝至嵌入式***的操作***上,经其上的客户端应用程序检测到证书后,将证书传输到可信执行环境侧;S4:所述可信执行环境侧的可信应用程序使用存储在所述可信执行环境中的公钥,对收到的证书进行验证;
所述证书的签名进行验证还包括:如果签名验证通过,则读取证书中的芯片ID和证书有效期,获取证书有效期后,所述可信应用程序将有效期和当前***时间进行对比,如果证书已经过期,则不允许打开调试端口;
当所述可信执行环境侧的程序获取到当前设备的芯片ID,且在证书的签名验证通过后,所述可信应用程序才读取设备的芯片ID,并和证书中保存的芯片ID进行比较,如果不一致,则无法打开调试端口。
5.根据权利要求4所述的用于嵌入式设备的安全调试的方法,其特征在于,所述S4还包括:S41:如果证书通过验证,则读取证书中存储的芯片ID和证书有效期;S42: 将从证书中读取的证书有效期,和当前***时间进行对比,检查证书是否过期;S43: 将从证书中读取的芯片ID和当前设备的芯片ID进行对比,如果一致,则开启调试端口;如果证书已经过期,则不允许打开调试端口。
6.根据权利要求5所述的用于嵌入式设备的安全调试的方法,其特征在于,当所述可信执行环境侧的程序获取到当前设备的芯片ID,在证书的签名验证通过后,将证书中的有效期和当前***时间进行对比,证书仍在有效期内,所述可信应用程序才读取设备的芯片ID,并和证书中保存的芯片ID进行比较,如果不一致,则无法打开调试端口。
7.根据权利要求6所述的用于嵌入式设备的安全调试的方法,其特征在于,不同的设备的芯片ID均不一样。
CN202011484069.8A 2020-12-16 2020-12-16 一种用于嵌入式设备的安全调试的***和方法 Active CN112579374B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011484069.8A CN112579374B (zh) 2020-12-16 2020-12-16 一种用于嵌入式设备的安全调试的***和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011484069.8A CN112579374B (zh) 2020-12-16 2020-12-16 一种用于嵌入式设备的安全调试的***和方法

Publications (2)

Publication Number Publication Date
CN112579374A CN112579374A (zh) 2021-03-30
CN112579374B true CN112579374B (zh) 2024-03-08

Family

ID=75135449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011484069.8A Active CN112579374B (zh) 2020-12-16 2020-12-16 一种用于嵌入式设备的安全调试的***和方法

Country Status (1)

Country Link
CN (1) CN112579374B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114360107B (zh) * 2021-12-24 2024-03-29 惠州市德赛西威智能交通技术研究院有限公司 用于多用户多车辆的智能车钥匙方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003046499A (ja) * 2001-08-03 2003-02-14 Nec Corp 通信システムおよびユーザ端末およびicカードおよび認証システムおよび接続および通信の制御システムおよびプログラム
CN106161024A (zh) * 2015-04-03 2016-11-23 同方股份有限公司 一种usb控制芯片级的usb设备可信认证方法及其***
CN108234509A (zh) * 2018-01-16 2018-06-29 国民认证科技(北京)有限公司 基于tee和pki证书的fido认证器、认证***及方法
CN110929300A (zh) * 2019-12-11 2020-03-27 中国人民解放军国防科技大学 一种基于标识密码的可信计算安全芯片构建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003046499A (ja) * 2001-08-03 2003-02-14 Nec Corp 通信システムおよびユーザ端末およびicカードおよび認証システムおよび接続および通信の制御システムおよびプログラム
CN106161024A (zh) * 2015-04-03 2016-11-23 同方股份有限公司 一种usb控制芯片级的usb设备可信认证方法及其***
CN108234509A (zh) * 2018-01-16 2018-06-29 国民认证科技(北京)有限公司 基于tee和pki证书的fido认证器、认证***及方法
CN110929300A (zh) * 2019-12-11 2020-03-27 中国人民解放军国防科技大学 一种基于标识密码的可信计算安全芯片构建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
电子政务通用认证***的设计;李志民;董智勇;刘哲;;中国管理信息化(综合版)(第12期);全文 *

Also Published As

Publication number Publication date
CN112579374A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
EP3591564B1 (en) Event attestation for an electronic device
US9276752B2 (en) System and method for secure software update
CN106612180B (zh) 实现会话标识同步的方法及装置
US11669605B1 (en) Dynamic enrollment using biometric tokenization
WO2020092502A1 (en) Method, apparatus, and electronic device for blockchain-based recordkeeping
US9218473B2 (en) Creation and authentication of biometric information
US20080162943A1 (en) Biometric security system and method
EP3206329B1 (en) Security check method, device, terminal and server
CN110688660A (zh) 一种终端安全启动的方法及装置、存储介质
CN114444134A (zh) 一种数据使用授权方法、***及装置
CN112579374B (zh) 一种用于嵌入式设备的安全调试的***和方法
CN111177693A (zh) 一种验证终端根证书的方法、装置、设备和介质
CN114048453A (zh) 用户特征的生成方法、装置、计算机设备和存储介质
CN112383577A (zh) 授权方法、装置、***、设备和存储介质
CN116956240A (zh) 一种绕过Google safetynet认证方法及相关组件
CN113127818A (zh) 一种基于区块链的数据授权方法、装置及可读存储介质
CN116032484A (zh) 一种通信设备安全启动的方法、装置和电子设备
CN113505358B (zh) 一种对信息处理行为的监管方法
JP2000339153A (ja) プログラム検証方法及び装置及びプログラム検証プログラムを格納した記憶媒体
JP5049179B2 (ja) 情報処理端末装置及びアプリケーションプログラムの起動認証方法
KR20140112837A (ko) 임베디드 시스템, 이를 포함하는 인증 시스템, 및 인증 방법
CN113297563A (zh) 访问片上***特权资源的方法、装置及片上***
Yoshida et al. Towards trusted iot sensing systems: Implementing puf as secure key generator for root of trust and message authentication code
TW202018626A (zh) 於簽章時驗證使用者身分之系統及方法
CN115001749B (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