一种根密钥处理方法及相关装置制造方法及图纸

技术编号:18115525 阅读:24 留言:0更新日期:2018-06-03 08:29
本申请公开了一种根密钥处理方法及相关装置。其中,所述方法由与设有RPMB分区的存储器连接的处理器执行,包括:所述处理器在上电后,检测所述RPMB分区的根密钥是否已写入所述存储器中;若否,则在所述处理器的安全启动过程中,将所述RPMB分区的根密钥写入所述存储器;其中,所述安全启动过程为所述处理器未启动非安全操作系统。上述方案,能够防止存储器中的根密钥泄露。

【技术实现步骤摘要】
一种根密钥处理方法及相关装置
本申请涉及存储
,特别是涉及存储器的根密钥处理方法及相关装置。
技术介绍
嵌入式多媒体卡(EmbeddedMultiMediaCard,EMMC)等存储器一般设置有一具有防回滚保护特性的分区,叫做回滚保护存储块(ReplayProtectedMemoryBlock,RPMB)分区,通常用于存放一些核心敏感数据,例如手机上指纹支付相关的公钥、序列号等有防止非法篡改需求的数据。为了防止RPMB分区的写入数据或读出数据被非法篡改,存储器需预先写入RPMB分区的根密钥。该写入数据或读出数据会与利用RPMB分区的根密钥和数据生成的值一并传输,由此存储器或处理器在接收到该数据时,利用其本地存储的根密钥和接收到的数据重新生成新值,并与接收到的值比较,以判断该数据在传输过程中是否发生篡改。因此,RPMB分区的根密钥是RPMB分区实现防回滚保护的一个关键部分。目前,如何将该RPMB分区的根密钥安全写入到存储器中,以防止RPMB分区的根密钥泄露,是实现RPMB分区防回滚保护的重要课题。
技术实现思路
本申请主要解决的技术问题是提供根密钥处理方法及相关装置,能够防止存储器中的根密钥泄露。为了解决上述问题,本申请第一方面提供了一种根密钥处理方法,所述方法由与设有回滚保护存储块RPMB分区的存储器连接的处理器执行,包括:所述处理器在上电后,检测所述RPMB分区的根密钥是否已写入所述存储器中;其中,所述根密钥用于校验所述RPMB分区的写入数据或读取数据是否被篡改;若否,则在所述处理器的安全启动过程中,将所述RPMB分区的根密钥写入所述存储器;其中,所述安全启动过程为所述处理器未启动非安全操作系统。为了解决上述问题,本申请第二方面提供了一种对RPMB分区的根密钥进行处理的处理电路,用于执行上的方法。为了解决上述问题,本申请第三方面提供了一种对RPMB分区的根密钥进行处理的处理系统,包括上述的处理电路以及与所述处理电路连接的存储器,其中,所述存储器设有回滚保护存储块RPMB分区,所述处理电路用于对所述RPMB分区的根密钥进行处理。为了解决上述问题,本申请第四方面提供了一种非易失性存储介质,存储有计算机程序,所述计算机程序被处理器运行,用于上述的方法。上述方案中,处理器在安全启动过程中写入存储器中RPMB分区的根密钥,由于在安全启动过程中,处理器尚未启动非安全操作系统,故在写入PRMB分区的根密钥过程中不会经过该非安全操作系统,从而避免在非安全操作系统中将存储器中RPMB分区的根密钥泄露的状况,进一步保证了RPMB分区的防回滚保护。附图说明图1是本申请处理系统一实施例的结构示意图;图2是本申请根密钥处理方法一实施例的流程示意图;图3是图1所示S220步骤中写入根密钥的流程示意图;图4是本申请处理器安全启动过程一实施例的流程示意图;图5是本申请根密钥处理方法另一实施例的流程示意图;图6是本申请根密钥处理方法再一实施例的部分流程示意图;图7是本申请根密钥处理方法又再一实施例的部分流程示意图;图8是本申请非易失性存储介质一实施例的结构示意图。具体实施方式下面结合说明书附图,对本申请实施例的方案进行详细说明。以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。为便于理解本申请方案,先对存储器中RPMB分区的具体功能及结构进行举例说明。RPMB分区是如嵌入式多媒体卡(EmbeddedMultiMediaCard,EMMC)等存储器设置的具有防回滚保护特性的分区,用于是存放一些核心敏感数据。用户在需要存储重要数据时候可以使用该分区,该分区可采用授权加密的机制保护数据。在一实施例中,RPMB分区具有以下结构寄存器和存储单元:第一寄存器:具体可为一个32Byte大小的寄存器。此寄存器是用来存储RPMB分区的根密钥(该根密钥可称为AuthenticationKey),例如该寄存器值为该根密钥。该寄存器只能写一次,而且是只能写入不能被该存储器以外器件读出;第二寄存器:具体可为一个4Byte大小的寄存器,用于记录所有对RPMB分区成功执行的写操作次数(WriteCounter)。该写操作次数用于处理器在每次对RPMB分区进行写操作时,将处理器向存储器读取的写操作次数值包含在写操作指令中,以使存储器的内部控制电路比较写操作指令包含的写操作次数值是否等于该第二寄存器记录的写操作次数,并在结果不匹配时拒绝本次写操作。此为RPMB分区防回滚攻击的重要机制,该写操作次数可实现防回滚,防止非授权装置将从前写入的数据重写到RPMB分区中;数据存储单元:为RPMB分区真正的数据存储单元区。请参阅图1,图1是本申请存储器与处理器组成的处理系统一实施例的结构示意图。本实施例中,处理系统10包括处理器110和存储器120。处理器110与存储器120通过物理总线(PhysicalBus)等方式连接。存储器120设置有如上述的RPMB分区,例如可为EMMC等内嵌式存储器。处理器110具体可为安全芯片等系统级芯片(SOC),用于运行安全操作系统111和非安全操作系统112,其中,该安全操作系统111可以为在可信执行环境(TrustedExecutionEnvironment,TEE)运行的操作系统,非安全操作系统112例如为Linux、Android等操作系统。具体地,该处理器110可以包括两个独立的电路以分别执行安全操作系统111和非安全操作系统112,或者采用同一电路执行上述两种操作系统。本实施例中,基于安全性的考量及存储器120的硬件资源使用互斥管理的需求,存储器120的驱动程序会放在非安全操作系统112中执行。其结果就是安全操作系统111对于存储器120的RPMB分区的读写指令必须交由非安全操作系统112来调用存储器120的驱动程序执行。故安全操作系统111通过非安全操作系统112对存储器120进行读写操作,即安全操作系统111对存储器120的RPMB分区的写入数据需经由非安全操作系统112输入至存储器120中,从存储器120的RPMB分区读取的数据也需要经由非安全操作系统112反馈至安全操作系统111。由于RPMB分区的根密钥是在处理器的安全操作系统111中生成再写入是存储器的设定区域中,如保存在上述的第一寄存器中。故,若在处理器110正常启动并运行两种操作系统后,其安全操作系统111生成的根密钥则需要通过非安全操作系统112写入至存储器120中。如此,该根密钥经过非安全操作系统112时容易被拦截,导致RPMB分区的根密钥泄漏。由此,本申请提出在处理器110尚未运行非安全操作系统112时,亦即在安全启动过程中,将RPMB分区的根密钥写入到存储器120中,如此,根密钥无需经过非安全操作系统112而直接从安全操作系统111写入至存储器120,避免了非安全操作系统112将RPMB分区的根密钥泄漏。另外,该安全操作系统也限定不可执行向非安全操作系统发送向存储器写入根密本文档来自技高网...
一种根密钥处理方法及相关装置

【技术保护点】
一种根密钥处理方法,其特征在于,所述方法由与设有回滚保护存储块(Replay Protected Memory Block,RPMB)分区的存储器连接的处理器执行,包括:所述处理器在上电后,检测所述RPMB分区的根密钥是否已写入所述存储器中;其中,所述根密钥用于校验所述RPMB分区的写入数据或读取数据是否被篡改;若否,则在所述处理器的安全启动过程中,将所述RPMB分区的根密钥写入所述存储器;其中,所述安全启动过程为所述处理器未启动非安全操作系统。

【技术特征摘要】
1.一种根密钥处理方法,其特征在于,所述方法由与设有回滚保护存储块(ReplayProtectedMemoryBlock,RPMB)分区的存储器连接的处理器执行,包括:所述处理器在上电后,检测所述RPMB分区的根密钥是否已写入所述存储器中;其中,所述根密钥用于校验所述RPMB分区的写入数据或读取数据是否被篡改;若否,则在所述处理器的安全启动过程中,将所述RPMB分区的根密钥写入所述存储器;其中,所述安全启动过程为所述处理器未启动非安全操作系统。2.根据权利要求1所述的方法,其特征在于,所述将所述RPMB分区的根密钥写入所述存储器包括:根据所述存储器的标识和所述处理器的标识中的至少一种生成所述RPMB分区的根密钥;将所述RPMB分区的根密钥写入所述存储器的设定区域中,其中,所述设定区域只可写入一次。3.根据权利要求2所述的方法,其特征在于,所述处理器的标识为在所述处理器出厂时写入到所述处理器的内部存储区的私有密钥,且在所述处理器出厂后不可改,以及限定非安全操作系统不可访问。4.根据权利要求2所述的方法,其特征在于,所述根据所述存储器的标识和所述处理器的标识中的至少一种生成所述RPMB分区的根密钥,包括:从所述存储器中读取所述存储器的标识,并将所述存储器的标识填充至设定长度,以及从所述处理器中读取所述处理器的标识;利用所述处理器的标识对所述存储器的标识进行加密或解密运算得到所述RPMB分区的根密钥。5.根据权利要求1所述的方法,其特征在于,所述在所述处理器的安全启动过程中,将所述RPMB分区的根密钥写入所述存储器,包括:在完成所述处理器的安全启动过程的对DRAM初始化后,且在启动非安全操作系统之前,将所述RPMB分区的根密钥写入所述存储器。6.根据权利要求1至5任一项所述的方法,其特征在于,所述安全启动过程包括:所述处理器初始化;将设定安全密钥加载到SRAM中;加载第一启动装载代码到所述SRAM中,并在利用所述设定安全密钥对所述第一启动装载代码验证通过后,执行所述SRAM中的所述第一启动装载代码;将DRAM初始化;加载第二启动装载代码到所述DRAM中,并在利用所述设定安全密钥对所述第二启动装载代码验证通过后,执行所述DRAM中的所述第二启...

【专利技术属性】
技术研发人员:孙明勇
申请(专利权)人:晨星半导体股份有限公司
类型:发明
国别省市:中国台湾,71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1