CN112579374B - 一种用于嵌入式设备的安全调试的系统和方法 - Google Patents
一种用于嵌入式设备的安全调试的系统和方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000012795 verification Methods 0.000 claims description 16
- 238000004519 manufacturing process Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program 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)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (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均不一样。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114360107B (zh) * | 2021-12-24 | 2024-03-29 | 惠州市德赛西威智能交通技术研究院有限公司 | 用于多用户多车辆的智能车钥匙方法及系统 |
Citations (4)
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 | 中国人民解放军国防科技大学 | 一种基于标识密码的可信计算安全芯片构建方法 |
-
2020
- 2020-12-16 CN CN202011484069.8A patent/CN112579374B/zh active Active
Patent Citations (4)
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)
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 | |
US20080162943A1 (en) | Biometric security system and method | |
EP3206329B1 (en) | Security check method, device, terminal and server | |
CN110502889B (zh) | 登录方法、装置、计算机可读存储介质和计算机设备 | |
CN110688660A (zh) | 一种终端安全启动的方法及装置、存储介质 | |
CN114444134A (zh) | 一种数据使用授权方法、系统及装置 | |
CN111177693A (zh) | 一种验证终端根证书的方法、装置、设备和介质 | |
CN118051919B (zh) | 数据处理方法、芯片、电子设备以及存储介质 | |
CN112579374B (zh) | 一种用于嵌入式设备的安全调试的系统和方法 | |
CN114048453A (zh) | 用户特征的生成方法、装置、计算机设备和存储介质 | |
CN112383577A (zh) | 授权方法、装置、系统、设备和存储介质 | |
CN113127818A (zh) | 一种基于区块链的数据授权方法、装置及可读存储介质 | |
CN116032484A (zh) | 一种通信设备安全启动的方法、装置和电子设备 | |
CN113505358B (zh) | 一种对信息处理行为的监管方法 | |
JP2000339153A (ja) | プログラム検証方法及び装置及びプログラム検証プログラムを格納した記憶媒体 | |
CN113297563B (zh) | 访问片上系统特权资源的方法、装置及片上系统 | |
JP5049179B2 (ja) | 情報処理端末装置及びアプリケーションプログラムの起動認証方法 | |
CN116418511A (zh) | 一种基于国密算法的qkd设备的固件完整性校验方法及系统 | |
KR20140112837A (ko) | 임베디드 시스템, 이를 포함하는 인증 시스템, 및 인증 방법 | |
Yoshida et al. | Towards trusted iot sensing systems: Implementing puf as secure key generator for root of trust and message authentication code | |
TW202018626A (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 |