CN113032786B - 认证凭证的传递方法、芯片及设备 - Google Patents

认证凭证的传递方法、芯片及设备 Download PDF

Info

Publication number
CN113032786B
CN113032786B CN201911360161.0A CN201911360161A CN113032786B CN 113032786 B CN113032786 B CN 113032786B CN 201911360161 A CN201911360161 A CN 201911360161A CN 113032786 B CN113032786 B CN 113032786B
Authority
CN
China
Prior art keywords
core
layer0
code
check code
dice
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
CN201911360161.0A
Other languages
English (en)
Other versions
CN113032786A (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.)
Chengdu TD Tech Ltd
Original Assignee
Chengdu TD Tech 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 Chengdu TD Tech Ltd filed Critical Chengdu TD Tech Ltd
Priority to CN201911360161.0A priority Critical patent/CN113032786B/zh
Publication of CN113032786A publication Critical patent/CN113032786A/zh
Application granted granted Critical
Publication of CN113032786B publication Critical patent/CN113032786B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/45Structures or tools for the administration of authentication
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种认证凭证的传递方法、芯片及设备。该方法包括DICE核根据设备唯一密值UDS生成合成设备标识CDI,将该CDI保存在第一共享内存中;其中,该UDS保存在一次性可编程区;Layer 0核从该第一共享内存中读取该CDI,并根据该CDI生成别名密钥Alias Key公私钥对,将Alias Key私钥保存在第二共享内存中;Layer 1核从该第二共享内存中获取该Alias Key私钥以进行业务的认证,实现了终端设备芯片中认证凭证的安全传递,保证了终端设备的可信安全。

Description

认证凭证的传递方法、芯片及设备
技术领域
本发明涉及终端领域,尤其涉及一种认证凭证的传递方法、芯片及设备。
背景技术
随着终端技术的发展,为解决终端的可信安全问题,可信计算组织(TrustedComputing Group,TCG)提出了设备标识符合成引擎(Device Identifier CompositionEngine,DICE)规范,以提高终端的安全性和隐私性。
该规范中的指导机制为:DICE层维护设备唯一密值(Unique Device Secret,UDS),UDS在终端出厂时随机生成或者外部注入,每个设备的UDS唯一,对外不可见。DICE层对上层Layer 0层提供合成设备标识(Compound Device Identifier,CDI),该CDI由UDS和Layer 0层软件特性码组合生成。Layer 0层用于生成终端的身份标示,即公私钥对。私钥保存在终端侧,公钥对外公布,提供给各种应用服务平台,用于服务平台认证终端身份。这里包含两对身份标示:一是设备标识(DeviceID):由CDI通过加密算法来生成一对公私钥,同时生成终端的根证书,根证书里包含终端的公钥,同时证书由私钥进行自签名。为了安全起见,DeviceID的私钥不会传递给上层Layer 1层固件。二是别名密钥(Alias Key):由CDI和Layer 1层固件的固件安全描述符(Firmware Security Descriptor,FSD)通过加密算法生成一对公私钥,同时生成相应的服务证书,服务证书里包含Alias Key的公钥,同时该服务证书由DeviceID的私钥进行签名,因此服务证书可以由DeviceID的根证书来验证是否有效。Alias key的私钥会传递给Layer 1层固件,由Layer 1层固件使用其去进行和各种应用平台交互的认证服务。Layer 1层对应终端的业务应用部分,实现各种业务处理,以及和各种业务平台的对接。
上述DICE规范中给出的仅仅是一个指导规范,而对于在具体实现中如何保证各层之间的认证凭证传递的安全性,规范中并未说明,因此,亟需提供一种认证凭证的传递方法。
发明内容
本发明提供一种认证凭证的传递方法、芯片及设备,以保证终端设备的可信安全。
第一方面,本发明提供一种认证凭证的传递方法,应用于终端设备的芯片,所述芯片包括设备标识符合成引擎DICE核、Layer 0核和Layer 1核;所述方法包括:
所述DICE核根据设备唯一密值UDS生成合成设备标识CDI,将所述CDI保存在第一共享内存中;其中,所述UDS保存在一次性可编程区;
所述Layer 0核从所述第一共享内存中读取所述CDI,并根据所述CDI生成别名密钥Alias Key公私钥对,将Alias Key私钥保存在第二共享内存中;
所述Layer 1核从所述第二共享内存中获取所述Alias Key私钥以进行业务的认证。
可选的,所述方法还包括:
所述Layer 0核根据所述CDI生成证书,并将所述证书保存在所述第二闪存中;
所述Layer 1核从所述第二闪存中获取所述证书以进行业务的认证。
可选的,DICE代码保存在只读内存中;Layer 0代码和加密后的第一校验码保存在第一闪存中;Layer 1代码和加密后的第二校验码保存在第二闪存中。
可选的,所述方法还包括:
所述终端设备上电后,所述DICE代码启动;
所述DICE核计算所述第一闪存中所述Layer 0代码的第三校验码,并对所述加密后的第一校验码进行解密获得所述第一校验码;
所述DICE核将所述第三校验码和所述第一校验码进行比较,若所述第三校验码和所述第一校验码相同,则启动所述Layer 0代码;
所述Layer 0核计算所述第二闪存中所述Layer 1代码的第四校验码,并对所述加密后的第二校验码进行解密,获得所述第二校验码;
所述Layer 0核将所述第四校验码和所述第二校验码进行比较,若所述第四校验码和所述第二校验码相同,则启动所述Layer 1代码,已完成所述终端设备的启动。
可选的,所述一次性可编程区中包括Layer 0代码的数字签名的公钥。
可选的,所述方法还包括:
所述DICE核下载Layer 0代码;
所述DICE核接收所述Layer 0代码的数字签名;
所述DICE核计算Layer 0代码的第五校验码,并使用所述公钥解密所述数字签名获得所述Layer 0代码的第六校验码;
所述DICE核将所述第五校验码和所述第六校验码进行比较,若所述第五校验码和所述第六校验码相同,则将所述Layer 0代码移入版本区以使所述Layer 0代码生效。
可选的,所述DICE核和所述Layer 0核具有通用串口。
第二方面,本发明提供一种芯片,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面中任一项所述的认证凭证的传递方法。
第三方面,本发明提供一种终端设备,包括如上述第二方面所述的芯片。
第四方面,本发明提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面中任一项所述的认证凭证的传递方法。
本发明提供一种认证凭证的传递方法、芯片及设备,该方法通过DICE核根据设备唯一密值UDS生成合成设备标识CDI,将该CDI保存在第一共享内存中;其中,该UDS保存在一次性可编程区;Layer 0核从该第一共享内存中读取该CDI,并根据该CDI生成别名密钥Alias Key公私钥对,将Alias Key私钥保存在第二共享内存中;Layer 1核从该第二共享内存中获取该Alias Key私钥以进行业务的认证,实现了终端设备芯片中认证凭证的安全传递,保证了终端设备的可信安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为DICE规范中的可信安全机制示意图;
图2为本发明提供的一种芯片的***设计示意图;
图3为本发明提供的一种认证凭证的传递方法的流程示意图;
图4为本发明提供的一种认证凭证传递的流程示意图;
图5为本发明提供的一种芯片启动的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为DICE规范中的可信安全机制示意图。如图1中,DICE规范中指出了DICE层、Layer 0层和Layer 1层之前的认证凭证传递过程,Layer 0层可称为0层,Layer 1层可称为1层。DICE层保存UDS并向Layer 0层提供CDI。Layer 0层根据CDI生成DeviceID公私钥对和根证书,并根据CDI以及Layer 1层的FSD生成Alias Key公私钥对和服务证书,Layer 0层将DeviceID公钥、根证书、Alias Key公私钥对和服务证书和服务证书提供给Layer 1层。Layer 1层使用上述公私钥对和证书完成各种业务交互的认证服务。显然,在DICE规范中仅指出了各层的作用以及各层之间的交互,但是并没有提供具体的实现细节,例如,UDS如何保存才能***露、DICE层如何安全将CDI传递给Layer 0层、Layer 0层如何将Alias key私钥安全传递给Layer1层等,因此,本发明提供一种认证凭证的传递方法,通过采用一次性可编程区和共享内存实现上述信息的保存和传递,保证了终端芯片的可信安全。本发明提供的认证凭证的传递方法通过将UDS存储在一次性可编程区,避免UDS被修改,并通过第一共享内存实现在DICE层和Layer 0层之间安全传递CDI,通过第二共享内存实现在Layer 0层和Layer 1层之间安全传递Alias key私钥。以下结合具体实施例对本发明提供的方法进行示例说明。
首先对本发明提供的芯片的***设计进行说明。图2为本发明提供的一种芯片的***设计示意图。如图2所示,芯片中包括DICE核、Layer 0核和Layer 1核。Layer 0核可称为0层核,Layer 1核可称为1层核。
其中,DICE核为单独内核,DICE代码存储于只读内存(Read-Only Memory,ROM)中,即DICE代码不能更改。
DICE核外接一个一次性可编程(One Time Programmable,OTP)贮存区,该OTP区用于保存UDS和Layer 0代码的数字签名的公钥。
DICE核具有通用串口,通过该通用串口可以设置UDS和公钥以及进行Layer 0层的版本升级。其中UDS和公钥是在终端设备出厂时进行设置,一旦设置就不能更改。
Layer 0核为单独内核,Layer 0代码保存在第一闪存(Flash Memory)中,如图2中的FLASH1中。Layer 0代码可以更改,例如可以通过图2中所示的本地管理工具进行Layer 0层的版本升级。
Layer 0核和DICE核之间共享第一内存,如图2中的RAM1,RAM1用于传递CDI,DICE核生成CDI后将其存入RAM1中,Layer 0核可以从RAM1中读取CDI。
Layer 0核和DICE核之间共享第一闪存FLASH1,FLASH1用于保存加密后的Layer 0代码的第一校验码,如通过UDS加密后的Layer 0代码的哈希HASH加密值;同时FLASH1还用于保存Layer 0代码。
Layer 0核具有通用串口,本地管理工具可以通过该通用串口导出Layer 0核生成的根证书。
Layer 1核为单独内核,Layer 1代码保存在第二闪存中,如图2中的FLASH2,Layer1代码也可以更改。
Layer 1核和Layer 0核之间共享第二共享内存,如图2中的RAM2,RAM2用于传递Alias key私钥,Layer 0核生成Alias key私钥后将其保存在RAM2中,Layer 1核可以从RAM2中读取该Alias key私钥。
Layer 1核和Layer 0核之间共享第二闪存FLASH2,FLASH2还用于保存加密后的Layer 1代码的第二校验码,如通过CDI加密后的Layer 1代码的哈希HASH加密值。此外,Layer 0核生成的根证书也保存在FLASH2中。
图3为本发明提供的一种认证凭证的传递方法的流程示意图。该方法的执行主体为终端设备或终端设备中的芯片。如图3所示,该方法包括:
S301、DICE核根据设备唯一密值UDS生成合成设备标识CDI,将该CDI保存在第一共享内存中;其中,该UDS保存在一次性可编程区。
S302、Layer 0核从该第一共享内存中读取该CDI,并根据该CDI生成别名密钥Alias Key公私钥对,将Alias Key私钥保存在第二共享内存中。
S303、Layer 1核从该第二共享内存中获取该Alias Key私钥以进行业务的认证。
如图4所示,UDS保存在OTP区内,该OTP区只能由DICE核访问,不提供对外访问接口。DICE核从OTP区读取UDS,并根据UDS和Layer 0代码特征码,如Layer 0代码的哈希值,生成CDI。DICE核将CDI保存在DICE核和Layer 0核的共享内存即第一共享内存中。第一共享内存不提供对外访问接口,只能由DICE核和Layer 0核内部访问。
DICE核将CDI保存在第一共享内存后,Layer 0核可以从该第一共享内存中获取CDI,进而根据CDI生成终端设备的身份标识,即公私钥对。这里包括了DeviceID公私钥对和根证书,以及Alias Key公私钥对和服务证书。Layer 0核将Alias Key公私钥对中的AliasKey私钥保存在第二共享内存中。第二共享内存可以由Layer 0核和Layer 1核访问,且第二共享内存可以被外部的联合测试工作组(Joint Test Action Group,JTAG)调试接口访问,并且该调试接口访问具有关闭机制,若通过软件关闭,则不能通过该接口访问第二共享内存。
Layer 0核将Alias Key私钥保存在第二共享内存后,Layer 1核可以从该第二共享内存中获取该Alias Key私钥以进行业务的认证。
本实施例提供的认证凭证的传递方法,通过DICE核根据设备唯一密值UDS生成合成设备标识CDI,将该CDI保存在第一共享内存中;其中,该UDS保存在一次性可编程区;Layer 0核从该第一共享内存中读取该CDI,并根据该CDI生成别名密钥Alias Key公私钥对,将Alias Key私钥保存在第二共享内存中;Layer 1核从该第二共享内存中获取该AliasKey私钥以进行业务的认证,实现了终端设备芯片中认证凭证的安全传递,保证了终端设备的可信安全。
可选的,在上述实施例的基础上,该方法还包括:
Layer 0核根据该CDI生成证书,并将该证书保存在该第二闪存中;Layer1核从该第二闪存中获取该证书以进行业务的认证。
在上述实施例中已说明Layer 0核根据CDI生成终端设备的身份标识,即公私钥对。这里包括了DeviceID公私钥对和根证书,以及Alias Key公私钥对和服务证书。Layer 0核将根证书和服务证书保存在第二闪存中,由于Layer 1核和Layer 0核之间共享第二闪存,因此Layer 1核可以从第二闪存中获取根证书和服务证书以进行业务的认证。
终端设备上电后,芯片启动时是按照DICE核、Layer 0核、Layer 1核的顺序逐步启动。为了提高终端设备的安全性,本发明的方法还通过对Layer 0代码和Layer 1代码进行校验以保证芯片的安全启动。如图2中所示的芯片***,DICE代码保存在只读内存中;Layer0代码和加密后的第一校验码保存在第一闪存中;Layer 1代码和加密后的第二校验码保存在第二闪存中。一下以校验码为哈希值为例进行说明。在此基础上,本实施例的方法还包括:
步骤1:终端设备上电后,DICE代码启动;
步骤2:DICE核计算第一闪存中Layer 0代码的第三校验码,并对该加密后的第一校验码进行解密获得该第一校验码;
步骤3:DICE核将该第三校验码和该第一校验码进行比较,若该第三校验码和该第一校验码相同,则启动该Layer 0代码;
步骤4:Layer 0核计算第二闪存中Layer 1代码的第四校验码,并对该加密后的第二校验码进行解密,获得该第二校验码;
步骤5:Layer 0核将该第四校验码和该第二校验码进行比较,若该第四校验码和该第二校验码相同,则启动Layer 1代码,以完成终端设备的启动。
如图5所示,终端设备上电后,DICE核首先启动,DICE代码固化在ROM中,不能被更改。DICE核从第一闪存中读取Layer 0代码以及加密后的Layer0代码的哈希值A,并根据读取到的Layer 0代码计算获得Layer 0代码的哈希值B,此外,DICE核还对加密后的Layer 0代码的哈希值A进行解密获得Layer 0代码的哈希值A,DICE核将解密获得的哈希值A与计算获得的哈希值B进行比较,若哈希值A和哈希值B相同,则表示Layer 0代码未被篡改,启动该Layer 0代码。
Layer 0代码启动后,Layer 0核从第二闪存中读取Layer 1代码以及加密后的Layer 1代码的哈希值C,并根据读取到的Layer 1代码计算获得Layer 1代码的哈希值D,此外,DICE核还对加密后的Layer 1代码的哈希值C进行解密获得Layer 1代码的哈希值C,DICE核将解密获得的哈希值C与计算获得的哈希值D进行比较,若哈希值C和哈希值D相同,则表示Layer 1代码未被篡改,启动该Layer 1代码,从而完成芯片的安全启动。
本实施例提供的方法通,DICE核通过校验码来验证Layer 0代码的有效性,在验证通过才能启动Layer 0代码,Layer 0核通过校验码来验证layer Layer 1代码有效性,在验证通过才能启动Layer 0代码,从而保证了芯片的安全启动。
图2所示的芯片***设计中,DICE代码不可更改,Layer 0代码和Layer1代码均为可更改的代码。在Layer 0代码被破坏的情况下,本发明提供的方法还可以通过本地接口下载Layer 0代码进行恢复。该方法包括:
步骤1:DICE核下载Layer 0代码;
步骤2:DICE核接收该Layer 0代码的数字签名;
步骤3:DICE核计算Layer 0代码的第五校验码,并使用该公钥解密该数字签名获得该Layer 0代码的第六校验码;
步骤4:DICE核将该第五校验码和该第六校验码进行比较,若该第五校验码和该第六校验码相同,则将该Layer 0代码移入版本区以使该Layer 0代码生效。
在图2所示芯片的***设计中,OTP区中还保存有Layer 0代码的数字签名的公钥,该公钥可以在终端设备出厂时进行预置。DICE核提供串口AT命令,可以通过命令下载Layer0代码至闪存中。此外,通过串口AT命令还可以输入已下载的Layer 0代码的数字签名。DICE核计算Layer 0代码的第五校验码,例如哈希值E,并使用OTP区中的公钥解密Layer 0代码的数字签名获得该Layer 0代码的第六校验码,例如哈希值F。DICE核将哈希值E和哈希值F进行比较,若哈希值E和哈希值F相同,则表示下载的Layer 0代码有效,则可将Layer 0代码移入版本区以使该Layer 0代码生效。
本实施例提供的方法,通过下载Layer 0代码,并对下载的Layer 0代码做数字签名的校验,实现了Layer 0代码的安全恢复。
本发明还提供一种芯片,其上存储有计算机程序,该计算机程序被处理器执行时,实现如上述方法实施例中的认证凭证的传递方法。该芯片可以为上述图2所示***设计的芯片。
本发明还提供一种终端设备,该终端设备包括上述实施例中的芯片。
本发明还提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如上述方法实施例中任一项的认证凭证的传递方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (5)

1.一种认证凭证的传递方法,其特征在于,应用于终端设备的芯片,所述芯片包括设备标识符合成引擎DICE核、Layer 0核和Layer 1核;所述方法包括:
所述DICE核根据设备唯一密值UDS生成合成设备标识CDI,将所述CDI保存在第一共享内存中;其中,所述UDS保存在一次性可编程区,所述第一共享内存不提供对外访问接口,所述DICE核和所述Layer 0核共享所述第一共享内存;
所述Layer 0核从所述第一共享内存中读取所述CDI,并根据所述CDI生成别名密钥Alias Key公私钥对,将Alias Key私钥保存在第二共享内存中;
所述Layer 1核从所述第二共享内存中获取所述Alias Key私钥以进行业务的认证,所述第二共享内存能够被外部的JTAG调试接口访问,若所述JTAG调试接口关闭,则不能通过所述JTAG调试接口访问所述第二共享内存,所述Layer 1核和所述Layer 0核共享所述第二共享内存;
所述Layer 0核根据所述CDI生成证书,并将所述证书保存在第二闪存中,所述Layer 0核和所述Layer 1核共享所述第二闪存;
所述Layer 1核从所述第二闪存中获取所述证书以进行业务的认证;
DICE代码保存在只读内存中;Layer 0代码和加密后的第一校验码保存在第一闪存中,所述DICE核和所述Layer 0核共享所述第一闪存;Layer 1代码和加密后的第二校验码保存在所述第二闪存中;
所述终端设备上电后,所述DICE代码启动;
所述DICE核计算所述第一闪存中所述Layer 0代码的第三校验码,并对所述加密后的第一校验码进行解密获得所述第一校验码;
所述DICE核将所述第三校验码和所述第一校验码进行比较,若所述第三校验码和所述第一校验码相同,则启动所述Layer 0代码;
所述Layer 0核计算所述第二闪存中所述Layer 1代码的第四校验码,并对所述加密后的第二校验码进行解密,获得所述第二校验码;
所述Layer 0核将所述第四校验码和所述第二校验码进行比较,若所述第四校验码和所述第二校验码相同,则启动所述Layer 1代码,以完成所述终端设备的启动;
所述一次性可编程区中包括Layer 0代码的数字签名的公钥;
所述DICE核下载Layer 0代码;
所述DICE核接收所述Layer 0代码的数字签名;
所述DICE核计算Layer 0代码的第五校验码,并使用所述公钥解密所述数字签名获得所述Layer 0代码的第六校验码;
所述DICE核将所述第五校验码和所述第六校验码进行比较,若所述第五校验码和所述第六校验码相同,则将所述Layer 0代码移入版本区以使所述Layer 0代码生效。
2.根据权利要求1所述的方法,其特征在于,所述DICE核和所述Layer0核具有通用串口。
3.一种芯片,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如上述权利要求1或2所述的认证凭证的传递方法。
4.一种终端设备,其特征在于,包括如权利要求3所述的芯片。
5.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如上述权利要求1或2所述的认证凭证的传递方法。
CN201911360161.0A 2019-12-25 2019-12-25 认证凭证的传递方法、芯片及设备 Active CN113032786B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911360161.0A CN113032786B (zh) 2019-12-25 2019-12-25 认证凭证的传递方法、芯片及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911360161.0A CN113032786B (zh) 2019-12-25 2019-12-25 认证凭证的传递方法、芯片及设备

Publications (2)

Publication Number Publication Date
CN113032786A CN113032786A (zh) 2021-06-25
CN113032786B true CN113032786B (zh) 2023-07-04

Family

ID=76458877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911360161.0A Active CN113032786B (zh) 2019-12-25 2019-12-25 认证凭证的传递方法、芯片及设备

Country Status (1)

Country Link
CN (1) CN113032786B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927803A (zh) * 2014-04-21 2014-07-16 西南交通大学 基于有源射频识别的电动门锁控制***
EP3296912A1 (en) * 2016-09-18 2018-03-21 Winbond Electronics Corp. Memory system and binding method between the same and host

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996710B1 (en) * 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US20110154501A1 (en) * 2009-12-23 2011-06-23 Banginwar Rajesh P Hardware attestation techniques
CN103914658B (zh) * 2013-01-05 2017-02-22 展讯通信(上海)有限公司 终端设备的安全启动方法及终端设备
CN108347332A (zh) * 2017-06-06 2018-07-31 清华大学 验证固件签名的方法及装置
CN108399339B (zh) * 2018-02-12 2021-09-14 广东为辰信息科技有限公司 一种基于安全芯片的可信启动方法
US10678938B2 (en) * 2018-03-30 2020-06-09 Intel Corporation Trustworthy peripheral transfer of ownership
US10924282B2 (en) * 2018-05-24 2021-02-16 Cyber Pack Ventures, Inc. System and method for measuring and reporting IoT boot integrity
CN109492352B (zh) * 2018-10-09 2021-01-29 华为技术有限公司 一种设备标识组合引擎的实现方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927803A (zh) * 2014-04-21 2014-07-16 西南交通大学 基于有源射频识别的电动门锁控制***
EP3296912A1 (en) * 2016-09-18 2018-03-21 Winbond Electronics Corp. Memory system and binding method between the same and host

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DICE:Automatic Emulation of DMA Input Channels for Dynamic Firmware Analysis;A. Mera, B.Feng, L.Lu;2021 IEEE Symposium on Security and Privacy;1938-1954 *
基于无线传感网的轻量级数字签名***设计;李瑛;杜丽萍;赵桂芬;郭建伟;;网络安全技术与应用(第06期);63-66 *

Also Published As

Publication number Publication date
CN113032786A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
US11386017B2 (en) Technologies for secure authentication and programming of accelerator devices
CN106168899B (zh) 用于更新嵌入式控制设备的方法和更新网关
US20190253417A1 (en) Hardware device and authenticating method thereof
TWI489315B (zh) 用於電子裝置之暫時安全開機流程之系統與方法
JP5079803B2 (ja) ゲーム装置を認証するシステムおよび方法
CN103843006B (zh) 用于向用户终端配备操作***的方法和设备
US10091183B2 (en) Method and decision gateway for authorizing a function of an embedded control unit
CN102624699B (zh) 一种保护数据的方法和***
CN111542820A (zh) 用于可信计算的方法和装置
CN110688660B (zh) 一种终端安全启动的方法及装置、存储介质
CN111199058B (zh) 用于确保数据的完整性和机密性的***和方法
JP2016531508A (ja) データセキュアストレージ
JP7450713B2 (ja) ソフトウェア完全性保護方法および装置、ならびにソフトウェア完全性検証方法および装置
CN111401901B (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
CN112148314B (zh) 一种嵌入式***的镜像验证方法、装置、设备及存储介质
JP2019192231A (ja) コンピュータシステム及びコンピュータシステムを初期化する方法
CN111147259B (zh) 鉴权方法和设备
CN109508529B (zh) 一种支付终端安全启动校验的实现方法
EP3298529B1 (en) Electronic device and method in an electronic device
CN111327429B (zh) 终端启动的处理方法和装置
CN112699404A (zh) 一种校验权限的方法、装置、设备及存储介质
CN112347481B (zh) 安全启动方法、控制器和控制***
CN111506915B (zh) 授权访问的控制方法、装置和***
CN113032786B (zh) 认证凭证的传递方法、芯片及设备
CN112861137A (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