CN114692124A - 一种数据读取、写入方法、装置和电子设备 - Google Patents

一种数据读取、写入方法、装置和电子设备 Download PDF

Info

Publication number
CN114692124A
CN114692124A CN202210406229.XA CN202210406229A CN114692124A CN 114692124 A CN114692124 A CN 114692124A CN 202210406229 A CN202210406229 A CN 202210406229A CN 114692124 A CN114692124 A CN 114692124A
Authority
CN
China
Prior art keywords
data
emmc memory
count value
security engine
key
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.)
Pending
Application number
CN202210406229.XA
Other languages
English (en)
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.)
Mgjia Beijing Technology Co ltd
Original Assignee
Mgjia Beijing Technology 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 Mgjia Beijing Technology Co ltd filed Critical Mgjia Beijing Technology Co ltd
Priority to CN202210406229.XA priority Critical patent/CN114692124A/zh
Publication of CN114692124A publication Critical patent/CN114692124A/zh
Pending legal-status Critical Current

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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 cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/73Protecting 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 by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Lock And Its Accessories (AREA)

Abstract

本发明公开了一种数据读取、写入方法、装置和电子设备,包括硬件安全引擎,硬件安全引擎中保存有eMMC存储器中用于处理RPMB分区数据的密钥,且密钥不对外公开,应用于硬件安全引擎的读取方法包括:接收处理器发送的读取请求,并将读取请求转发至eMMC存储器;接收eMMC存储器返回的目标数据和第一安全信息,目标数据是eMMC存储器基于读取请求从RPMB分区中读取的数据,第一安全信息是由eMMC存储器基于密钥对目标数据进行认证码计算的结果;将第二安全信息与第一安全信息进行比对,若一致则将目标数据发送至处理器,第二安全信息是由硬件安全引擎基于保存的密钥对接收的目标数据进行认证码计算的结果。本发明提供的技术方案,提高了数据读取的安全性。

Description

一种数据读取、写入方法、装置和电子设备
技术领域
本发明涉及硬件加密领域,具体涉及一种数据读取、写入方法、装置 和电子设备。
背景技术
目前手机、平板电脑等电子设备在社会中应用广泛,电子设备上用户 的隐私安全也愈发重要。通常,手机、平板电脑等电子设备采用eMMC存 储器的RPMB分区(ReplayProtected Memory Block重放保护内存块)在硬 件层面上保证用户的隐私安全。RPMB分区是eMMC中一个具有安全特性 的分区,eMMC在写入数据到RPMB时,会校验数据的合法性,只有指 定的处理器才能够写入,同时在读数据时,也提供了加密机制,保证处理 器读取到的数据是RPMB分区的内部数据,而不是攻击者伪造的数据。用 户对普通软件进行操作的相关信息存储在普通空间,用户的支付信息、指 纹验证等安全信息保存在eMMC存储器的RPMB分区。
现有技术通常在处理器上集成Trustzone模块,Trustzone模块基于TEE 技术将处理器端进行的相关安全操作也在一个安全空间内进行。但是 Trustzone模块技术复杂、普及程度还有待提高,很多处理器并没有集成 Trustzone模块。在没有Trustzone模块的电子设备上,当处理器需要从RPMB 分区进行读写数据时,处理器与RPMB分区进行通信,用于处理RPMB分 区数据的密钥同时保存在eMMC存储器内部和处理器可以读取到的地方, eMMC存储器内的密钥不可读取,eMMC存储器和处理器基于密钥对数据 进行加密或解密,从而分别对接收的数据进行验证。但是这种方法容易在 处理器调用密钥时被第三方窃取,造成数据传输的安全隐患。
发明内容
有鉴于此,本发明实施方式提供了一种数据读取、写入方法、装置和 电子设备,从而提高了数据传输的安全性。
根据第一方面,本发明实施例提供了一种数据读取方法,应用于硬件 安全引擎,所述硬件安全引擎中保存有eMMC存储器中用于处理RPMB分 区数据的密钥,所述硬件安全引擎中保存的密钥不对外公开,所述方法包 括:接收处理器发送的读取请求,并将所述读取请求转发至所述eMMC存 储器;接收所述eMMC存储器返回的目标数据和第一安全信息,所述目标 数据是所述eMMC存储器基于所述读取请求从所述RPMB分区中读取的数 据,所述第一安全信息是由所述eMMC存储器基于所述密钥对所述目标数 据进行认证码计算的结果;将第二安全信息与所述第一安全信息进行比对, 若一致则将所述目标数据发送至所述处理器,所述第二安全信息是由所述 硬件安全引擎基于保存的密钥对接收的目标数据进行认证码计算的结果。
可选地,在所述将所述读取请求转发至所述eMMC存储器之前,将预 设编码加入所述读取请求,所述预设编码用于在所述eMMC存储器和所述 硬件安全引擎内参与生成第一安全信息和第二安全信息的认证码计算。
可选地,所述硬件安全引擎基于保存的密钥对接收的目标数据进行认 证码计算,生成第二安全信息的步骤,包括:接收所述eMMC存储器返回 的预设编码;验证所述eMMC存储器返回的预设编码和所述硬件安全引擎 内部的预设编码是否一致;若一致则利用所述密钥对所述预设编码和接收 的目标数据进行认证码计算,生成所述第二安全信息。
可选地,所述密钥基于所述处理器的唯一硬件标识生成。
根据第二方面,本发明实施例提供了一种数据读取方法,应用于eMMC 存储器,所述eMMC存储器与硬件安全引擎通信连接,所述硬件安全引擎 中保存有所述eMMC存储器中用于处理RPMB分区数据的密钥,所述硬件 安全引擎中保存的密钥不对外公开,所述方法包括:接收所述硬件安全引 擎发送的读取请求,所述读取请求是处理器发送至所述硬件安全引擎的读 取请求;基于所述读取请求从所述RPMB分区中读取目标数据,并基于所 述密钥对所述目标数据进行计算得到第一安全信息;将所述目标数据和所 述第一安全信息发送至所述硬件安全引擎,以使所述硬件安全引擎将第二 安全信息与所述第一安全信息进行比对,若一致则将接收的目标数据转发 至所述处理器;其中,所述第二安全信息由硬件安全引擎基于保存的密钥 对接收的目标数据进行认证码计算生成。
根据第三方面,本发明实施例提供了一种数据写入方法,应用于硬件 安全引擎,所述硬件安全引擎中保存有eMMC存储器中用于处理RPMB分 区数据的密钥,所述硬件安全引擎中保存的密钥不对外公开,所述方法包 括:当接收到所述处理器发送的待写入数据时,发送读取计数值请求至所 述eMMC存储器,以通过如第一方面任意一项所述的方法从所述eMMC存 储器的RPMB分区中读取当前计数值;基于保存的密钥对所述待写入数据 和所述当前计数值进行认证码计算,生成第三安全信息;将所述第三安全 信息、所述待写入数据和所述当前计数值发送至所述eMMC存储器,以使 所述eMMC存储器确认接收的当前计数值和所述RPMB分区内部的当前计 数值是否相同,若相同则在确认第四安全信息和所述第三安全信息相同的 情况下,将所述待写入数据保存到所述RPMB分区中,并将所述当前计数值以预设规律调整;所述第四安全信息由所述eMMC存储器基于所述密钥 对接收的待写入数据和当前计数值进行认证码计算生成。
根据第四方面,本发明实施例提供了一种数据写入方法,应用于eMMC 存储器,所述eMMC存储器与硬件安全引擎通信连接,所述硬件安全引擎 中保存有所述eMMC存储器中用于处理RPMB分区数据的密钥,所述硬件 安全引擎中保存的密钥不对外公开,所述方法包括:当接收到所述硬件安 全引擎发送的读取计数值请求时,通过第二方面所述的方法将RPMB分区 中的当前计数值发送到所述硬件安全引擎,以使所述硬件安全引擎基于保 存的密钥对待写入数据和接收的当前计数值进行认证码计算,生成第三安 全信息;其中所述读取计数值请求是所述硬件安全引擎在接收到所述处理 器发送的待写入数据时生成的;接收所述硬件安全引擎发送的第三安全信 息、待写入数据和当前计数值;比对接收的当前计数值和所述RPMB分区 内部的当前计数值是否相同;若相同则比对第四安全信息和所述第三安全 信息是否一致,并在一致的条件下将所述待写入数据保存到所述RPMB分 区中,并将所述当前计数值以预设规律调整;所述第四安全信息基于所述 密钥对接收的待写入数据和当前计数值进行认证码计算生成。
根据第五方面,本发明实施例提供了一种数据读取装置,应用于硬件 安全引擎,所述硬件安全引擎中保存有eMMC存储器中用于处理RPMB分 区数据的密钥,所述硬件安全引擎中保存的密钥不对外公开,所述装置包 括:请求单元,用于接收处理器发送的读取请求,并将所述读取请求转发 至所述eMMC存储器;数据单元,用于接收所述eMMC存储器返回的目标 数据和第一安全信息,所述目标数据是所述eMMC存储器基于所述读取请 求从所述RPMB分区中读取的数据,所述第一安全信息是由所述eMMC存 储器基于所述密钥对所述目标数据进行认证码计算的结果;转发单元,用 于将第二安全信息与所述第一安全信息进行比对,若一致则将所述目标数 据发送至所述处理器,所述第二安全信息是由所述硬件安全引擎基于保存 的密钥对接收的目标数据进行认证码计算的结果。
根据第六方面,本发明实施例提供了一种数据写入装置,应用于硬件 安全引擎,所述硬件安全引擎中保存有eMMC存储器中用于处理RPMB分 区数据的密钥,所述硬件安全引擎中保存的密钥不对外公开,所述装置包 括:第二请求单元,用于当接收到所述处理器发送的待写入数据时,发送 读取计数值请求至所述eMMC存储器,以通过第一方面任意一项所述的方 法从所述eMMC存储器的RPMB分区中读取当前计数值;认证单元,用于 基于保存的密钥对所述待写入数据和所述当前计数值进行认证码计算,生 成第三安全信息;发送单元,用于将所述第三安全信息、所述待写入数据 和所述当前计数值发送至所述eMMC存储器,以使所述eMMC存储器确认 接收的当前计数值和所述RPMB分区内部的当前计数值是否相同,若相同 则在确认第四安全信息和所述第三安全信息相同的情况下,将所述待写入数据保存到所述RPMB分区中,并将所述当前计数值以预设规律调整;所 述第四安全信息由所述eMMC存储器基于所述密钥对接收的待写入数据和 当前计数值进行认证码计算生成。
根据第七方面,本发明实施例提供了一种电子设备,包括:
eMMC存储器和处理器,所述处理器上集成有硬件安全引擎,所述 eMMC存储器和所述处理器之间互相通信连接,所述eMMC存储器存储有 计算机指令,所述硬件安全引擎通过执行所述计算机指令,从而执行如第 一方面或第三方面任一项所述的方法,所述eMMC存储器通过执行所述计 算机指令从而执行如第二方面或第四方面所述的方法。
根据第八方面,本发明实施例提供了一种计算机可读存储介质,所述 计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算 机从而执行第一方面、第二方面、第三方面或者第四方面任意一种可选实 施方式中所述的方法。
本申请提供的技术方案,具有如下优点:
本申请提供的技术方案,在电子设备的处理器上集成硬件安全引擎模 块,硬件安全引擎中的数据只支持使用不支持读取,并将eMMC存储器的 RPMB分区的密钥保存到硬件安全引擎中。在用户进行数据的读取时,处 理器不直接与eMMC存储器进行通信,而是向硬件安全引擎发送读取请求, 然后硬件安全引擎接再与eMMC存储器进行通信,获取RPMB分区中的目 标数据,安全引擎接通过内部存储的RPMB密钥对接收到的目标数据进行 验证,当目标数据验证通过时,硬件安全引擎再将目标数据转发给处理器。 从而使得处理器无需从任何外部存储空间调用密钥对接收的数据进行验证, 数据验证完全在电子设备内部,即硬件安全引擎和eMMC之间进行,且硬 件安全引擎和eMMC存储器中的密钥都是不可读的,避免了密钥被窃取的 风险。同时,为没有TrustZone的硬件平台提供了一种安全存储方案,处理器无需调用第三方库取预设编码,也无需利用密钥进行认证码计算,降低 了开发成本和硬件成本。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性 的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明一个实施方式中一种数据读取方法的步骤示意图;
图2示出了本发明一个实施方式中一种数据读取方法的流程示意图;
图3示出了本发明一个实施方式中一种数据读取方法的另一个步骤示 意图;
图4示出了本发明一个实施方式中一种数据写入方法的步骤示意图;
图5示出了本发明一个实施方式中一种数据写入方法的另一个步骤示 意图;
图6示出了本发明一个实施方式中一种数据读取装置的结构示意图;
图7示出了本发明一个实施方式中一种数据写入方法的结构示意图;
图8示出了本发明一个实施方式中一种电子设备的结构示意图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合 本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完 整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全 部的实施方式。基于本发明中的实施方式,本领域技术人员在没有作出创 造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
请参阅图1和图2,在一个实施方式中,一种数据读取方法,应用于硬 件安全引擎,硬件安全引擎中保存有eMMC存储器中用于处理RPMB分区 数据的密钥,硬件安全引擎中保存的密钥不对外公开,具体包括以下步骤:
步骤S101:接收处理器发送的读取请求,并将读取请求转发至eMMC 存储器。
步骤S102:接收eMMC存储器返回的目标数据和第一安全信息,目标 数据是eMMC存储器基于读取请求从RPMB分区中读取的数据,第一安全 信息是由eMMC存储器基于密钥对目标数据进行认证码计算的结果。
步骤S103:将第二安全信息与第一安全信息进行比对,若一致则将目 标数据发送至处理器,第二安全信息是由硬件安全引擎基于保存的密钥对 接收的目标数据进行认证码计算的结果。
具体地,现有技术的处理器在读取eMMC存储器RPMB区间内的数据 时,处理器发送读取请求到eMMC存储器,eMMC存储器从RPMB区间内 读取数据,并将数据认证码计算后的安全信息反馈给处理器,处理器为了 验证数据的准确性,需要从外部设备或外部链接处调用与RPMB的密钥相 同的密钥,然后利用调用的密钥对数据进行认证码计算,然后将计算结果与eMMC存储器反馈的安全信息进行比对,从而实现对数据的验证。但是 在这个过程中,密钥可以非常容易从外部设备或外部链接被人为盗取,从而使得处理器容易读取到人为发送的假数据。针对上述问题,本发明实 施例通过在处理器芯片上集成硬件安全引擎来解决。硬件安全引擎即通过 软件代码编程后的一个硬件模块,软件代码的编程可基于NXP公司提供的 非开源软件代码实现,在使用硬件安全引擎时将该部分代码一并集成到镜 像中,烧写到开发板上,之后处理器通过代码的接口对硬件安全引擎进行 操作。硬件安全引擎中的数据只支持使用不支持读取,且可以执行相应的 加密认证算法。本实施例首先在产线生产时,会为每一个产品生产一个唯 一的密钥,烧写到eMMC的OTP区域和硬件安全引擎中,然后将密钥丢弃。 从而在后续数据的数据或写入过程,密钥只能被eMMC存储器和硬件安全 引擎使用,任何人无法获取密钥的明文内容。大大提高了密钥的安全性。 在处理器读取数据时,处理器不直接与eMMC存储器进行通信,而是向硬 件安全引擎发送读取请求,然后硬件安全引擎再与eMMC存储器进行通信, 转发读取请求到eMMC存储器。eMMC存储器接收到读取请求之后,从 RPMB分区中获取目标数据,然后利用密钥对目标数据进行认证码计算(采 用无论明文长度是多少,输出的密文长度都是固定的哈希消息认证码计算 方法),得到第一安全信息;eMMC存储器再将目标数据和第一安全信息一 并发送给硬件安全引擎;然后硬件安全引擎通过内部预先存储的密钥对目 标数据进行相同算法的认证码计算,得到第二安全信息。当第一安全信息 和第二安全信息一致时,说明目标数据是eMMC发送的数据,且没有被篡 改,进而目标数据验证通过。在目标数据验证通过时,硬件安全引擎再将 目标数据转发给处理器。从而使得处理器无需从任何外部存储空间调用密 钥对接收的数据进行验证,数据验证完全在电子设备内部,即硬件安全引 擎和eMMC之间进行,且硬件安全引擎和eMMC内的密钥都是不可读的, 避免了密钥被窃取的风险,大大提高了数据传输的安全性。
具体地,在一实施例中,在将读取请求转发至eMMC存储器之前,硬 件安全引擎将生成的预设编码加入读取请求,该预设编码用于在eMMC存 储器和硬件安全引擎内参与生成第一安全信息和第二安全信息的认证码计 算。
具体地,预设编码通常采用随机数。硬件安全引擎通过在读取请求中 加预设编码,从而使eMMC存储器可以将预设编码和目标数据拼接后,再 对拼接结果进行认证码计算得到第一安全信息,进一步提高了安全信息的 保密性。之后硬件安全引擎利用相应的算法对接收到的数据进行计算生成 第二安全信息。从而使得第一安全信息和第二安全信息的比对过程保密性 更高,进一步提高了数据安全性。另一方面将生成随机数的操作从处理器端转移到硬件安全引擎,降低了处理器的工作负载。
特别注意的是,在本实施例中,eMMC存储器中RPMB分区的密钥和 硬件安全引擎中保存的密钥基于处理器的唯一硬件标识生成。使得“RPMB 的密钥”是唯一的,若主板发生硬件更换,RPMB中的密钥和硬件安全引 擎中的密钥不一致,在读写数据时,两边算出的安全信息不同,导致读写 失败。从而进一步提高了数据传输的安全性。
具体地,在一实施例中,硬件安全引擎基于保存的密钥对接收的目标 数据进行认证码计算,生成第二安全信息,具体包括如下步骤:
步骤一:接收eMMC存储器返回的预设编码。
步骤二:验证eMMC存储器返回的预设编码和硬件安全引擎内部的预 设编码是否一致。
步骤三:若一致则利用密钥对预设编码和接收的目标数据进行认证码 计算,生成第二安全信息。
具体地,在本实施例中,eMMC存储器还将接收的读取请求中的预设 编码反馈至硬件安全引擎,从而硬件安全引擎在进行安全信息的验证之前, 先验证返回的预设编码是否与发送给eMMC存储器的预设编码一致。如果 一致再对目标数据和预设编码的混合在一起的拼接结果进行认证码计算。 从而进一步保证硬件安全引擎接收到的目标数据是未被篡改的数据,从而 进一步提高了目标数据传输的安全性。
请参阅图3,在一个实施方式中,一种数据读取方法,应用于eMMC 存储器,eMMC存储器与硬件安全引擎通信连接,硬件安全引擎中保存有 eMMC存储器中用于处理RPMB分区数据的密钥,硬件安全引擎中保存的 密钥不对外公开,具体包括如下步骤:
步骤S201:接收硬件安全引擎发送的读取请求,读取请求是处理器发 送至硬件安全引擎的读取请求。
步骤S202:基于读取请求从RPMB分区中读取目标数据,并基于密钥 对目标数据进行计算得到第一安全信息。
步骤S203:将目标数据和第一安全信息发送至硬件安全引擎,以使硬 件安全引擎将第二安全信息与第一安全信息进行比对,若一致则将接收的 目标数据转发至处理器;其中,第二安全信息由硬件安全引擎基于保存的 密钥对接收的目标数据进行认证码计算生成。
具体地,步骤S201~203的原理解释参考上述步骤S101~S103,在此不 再赘述。
请参阅图4,在一个实施方式中,一种数据写入方法,硬件安全引擎中 保存有eMMC存储器中用于处理RPMB分区数据的密钥,硬件安全引擎中 保存的密钥不对外公开,具体包括如下步骤:
步骤S301:当接收到处理器发送的待写入数据时,发送读取计数值请 求至eMMC存储器,以通过上述数据读取方法从eMMC存储器的RPMB 分区中读取当前计数值。
步骤S302:基于保存的密钥对待写入数据和当前计数值进行认证码计 算,生成第三安全信息。
步骤S303:将第三安全信息、待写入数据和当前计数值发送至eMMC 存储器,以使eMMC存储器确认接收的当前计数值和RPMB分区内部的当 前计数值是否相同,若相同则在确认第四安全信息和第三安全信息相同的 情况下,将待写入数据保存到RPMB分区中,并将当前计数值以预设规律 调整;第四安全信息由eMMC存储器基于密钥对接收的待写入数据和当前 计数值进行认证码计算生成。
具体地,在本实施例中,硬件安全引擎首先依据上述读取方法从RPMB 分区读取计数值,并将读取的计数值和待写入数据进行拼接混合,然后利 用保存的密钥对拼接得到的拼接结果进行认证码计算,之后将计算生成的 第三安全信息、待写入数据和当前计数值发送至eMMC存储器,从而使 eMMC存储器先比对接收的当前计数值和RPMB分区内部的当前计数值是 否相同,若相同则说明数据是第一次接收,而不是人为重复发送的数据。之后,eMMC存储器对RPMB分区内的当前计数值和接收的待写入数 据进行与拼接结果相同的拼接操作,得到第二拼接结果,基于密钥对第二 拼接结果进行计算,生成第四安全信息,eMMC存储器在确认第三安全信 息和第四安全信息一致的情况下,表明数据是由处理器发送的无误。再将 待写入数据保存到RPMB分区中,然后将当前计数值以预设规律调整,例 如将当前计数值加1,从而避免人为的重放攻击。在写数据的过程中, 同样涉及到计数值的读取,从而利用硬件安全引擎存储密钥,避免密钥被人为窃取的风险,同样提高了数据传输的安全性。
请参阅图5,在一个实施方式中,一种数据写入方法,应用于eMMC 存储器,eMMC存储器与硬件安全引擎通信连接,硬件安全引擎中保存有 eMMC存储器中用于处理RPMB分区数据的密钥,硬件安全引擎中保存的 密钥不对外公开,具体包括如下步骤:
步骤S401:当接收到硬件安全引擎发送的读取计数值请求时,通过上 述数据读取方法将RPMB分区中的当前计数值发送到硬件安全引擎,以使 硬件安全引擎基于保存的密钥对待写入数据和接收的当前计数值进行认证 码计算,生成第三安全信息;其中读取计数值请求是硬件安全引擎在接收 到处理器发送的待写入数据时生成的;
步骤S402:接收硬件安全引擎发送的第三安全信息、待写入数据和当 前计数值;
步骤S403:比对接收的当前计数值和RPMB分区内部的当前计数值是 否相同;
步骤S404:若相同则比对第四安全信息和第三安全信息是否一致,并 在一致的条件下将待写入数据保存到RPMB分区中,并将当前计数值以预 设规律调整;第四安全信息基于密钥对接收的待写入数据和当前计数值进 行认证码计算生成;
具体地,步骤S401~404的原理解释参考上述步骤S301~S303,在此不 再赘述。
通过上述步骤,本申请提供的技术方案,在电子设备的处理器上集成 硬件安全引擎模块,硬件安全引擎中的数据只支持使用不支持读取,并将 eMMC存储器的RPMB分区的密钥保存到硬件安全引擎中。在用户进行数 据的读取时,处理器不直接与eMMC存储器进行通信,而是向硬件安全引 擎发送读取请求,然后硬件安全引擎接再与eMMC存储器进行通信,获取 RPMB分区中的目标数据,安全引擎接通过内部存储的RPMB密钥对接收 到的目标数据进行验证,当目标数据验证通过时,硬件安全引擎再将目标 数据转发给处理器。从而使得处理器无需从任何外部存储空间调用密钥对 接收的数据进行验证,数据验证完全在电子设备内部,即硬件安全引擎和 eMMC之间进行,且硬件安全引擎和eMMC存储器内的密钥都是不可读的, 避免了密钥被窃取的风险。同时,为没有TrustZone的硬件平台提供了一种 安全存储方案,处理器无需调用第三方库取预设编码,也无需利用密钥进 行认证码计算,降低了开发成本和硬件成本。
如图6所示,本实施例还提供了一种数据读取装置,应用于硬件安全 引擎,硬件安全引擎中保存有eMMC存储器中用于处理RPMB分区数据的 密钥,硬件安全引擎中保存的密钥不对外公开,装置包括:
请求单元101,用于接收处理器发送的读取请求,并将读取请求转发至 eMMC存储器。详细内容参见上述方法实施例中步骤S101的相关描述,在 此不再进行赘述。
数据单元102,用于接收eMMC存储器返回的目标数据和第一安全信 息,目标数据是eMMC存储器基于读取请求从RPMB分区中读取的数据, 第一安全信息是由eMMC存储器基于密钥对目标数据进行认证码计算的结 果。详细内容参见上述方法实施例中步骤S102的相关描述,在此不再进行 赘述。
转发单元103,用于将第二安全信息与第一安全信息进行比对,若一致 则将目标数据发送至处理器,第二安全信息是由硬件安全引擎基于保存的 密钥对接收的目标数据进行认证码计算的结果。详细内容参见上述方法实 施例中步骤S103的相关描述,在此不再进行赘述。
本发明实施例提供的一种数据读取装置,用于执行上述实施例提供的 一种数据读取方法,其实现方式与原理相同,详细内容参见上述方法实施 例的相关描述,不再赘述。
如图7所示,本实施例还提供了一种数据写入装置,应用于硬件安全 引擎,硬件安全引擎中保存有eMMC存储器中用于处理RPMB分区数据的 密钥,硬件安全引擎中保存的密钥不对外公开,装置包括:
第二请求单元301,用于当接收到处理器发送的待写入数据时,发送读 取计数值请求至eMMC存储器,以通过上述数据读取方法从eMMC存储器 的RPMB分区中读取当前计数值。详细内容参见上述方法实施例中步骤 S301的相关描述,在此不再进行赘述。
认证单元302,用于基于保存的密钥对待写入数据和当前计数值进行认 证码计算,生成第三安全信息。详细内容参见上述方法实施例中步骤S302 的相关描述,在此不再进行赘述。
发送单元303,用于将第三安全信息、待写入数据和当前计数值发送至 eMMC存储器,以使eMMC存储器确认接收的当前计数值和RPMB分区内 部的当前计数值是否相同,若相同则在确认第四安全信息和第三安全信息 相同的情况下,将待写入数据保存到RPMB分区中,并将当前计数值以预 设规律调整;第四安全信息由eMMC存储器基于密钥对接收的待写入数据 和当前计数值进行认证码计算生成。详细内容参见上述方法实施例中步骤 S303的相关描述,在此不再进行赘述。
通过上述各个组成部分的协同合作,本申请提供的技术方案,在电子 设备的处理器上集成硬件安全引擎模块,硬件安全引擎中的数据只支持使 用不支持读取,并将eMMC存储器的RPMB分区的密钥保存到硬件安全引 擎中。在用户进行数据的读取时,处理器不直接与eMMC存储器进行通信, 而是向硬件安全引擎发送读取请求,然后硬件安全引擎接再与eMMC存储 器进行通信,获取RPMB分区中的目标数据,安全引擎接通过内部存储的 RPMB密钥对接收到的目标数据进行验证,当目标数据验证通过时,硬件 安全引擎再将目标数据转发给处理器。从而使得处理器无需从任何外部存 储空间调用密钥对接收的数据进行验证,数据验证完全在电子设备内部, 即硬件安全引擎和eMMC之间进行,且硬件安全引擎和eMMC存储器内的 密钥都是不可读的,避免了密钥被窃取的风险。同时,为没有TrustZone的 硬件平台提供了一种安全存储方案,处理器无需调用第三方库取预设编码, 也无需利用密钥进行认证码计算,降低了开发成本和硬件成本。
图8示出了本发明实施例的一种电子设备,该设备包括处理器901和 eMMC存储器902,可以通过总线或者其他方式连接,图8中以通过总线连 接为例。处理器901中集成有硬件安全引擎903。
处理器901可以为中央处理器(Central Processing Unit,CPU)。处理 器901还可以为其他通用处理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场 可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻 辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各 类芯片的组合。
eMMC存储器902作为一种非暂态计算机可读存储介质,可用于存储 非暂态软件程序、非暂态计算机可执行程序以及模块,如上述方法实施例 中的方法所对应的程序指令/模块。处理器901通过运行存储在eMMC存储 器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能 应用以及数据处理,即实现上述方法实施例中的方法。
eMMC存储器902可以包括存储程序区和存储数据区以及RPMB安全 区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序; 存储数据区可存储处理器901所创建的数据等。此外,eMMC存储器902 可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个 磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中, eMMC存储器902可选包括相对于处理器901远程设置的存储器,这些远 程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互 联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在eMMC存储器902中,当被处理器901执行 时,执行上述方法实施例中的方法。
上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描 述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,实现的程序可存储于一 计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施 例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快 闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态 硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器 的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不 脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变 型均落入由所附权利要求所限定的范围之内。

Claims (10)

1.一种数据读取方法,其特征在于,应用于硬件安全引擎,所述硬件安全引擎中保存有eMMC存储器中用于处理RPMB分区数据的密钥,所述硬件安全引擎中保存的密钥不对外公开,所述方法包括:
接收处理器发送的读取请求,并将所述读取请求转发至所述eMMC存储器;
接收所述eMMC存储器返回的目标数据和第一安全信息,所述目标数据是所述eMMC存储器基于所述读取请求从所述RPMB分区中读取的数据,所述第一安全信息是由所述eMMC存储器基于所述密钥对所述目标数据进行认证码计算的结果;
将第二安全信息与所述第一安全信息进行比对,若一致则将所述目标数据发送至所述处理器,所述第二安全信息是由所述硬件安全引擎基于保存的密钥对接收的目标数据进行认证码计算的结果。
2.根据权利要求1所述的方法,其特征在于,在所述将所述读取请求转发至所述eMMC存储器之前,将预设编码加入所述读取请求,所述预设编码用于在所述eMMC存储器和所述硬件安全引擎内参与生成第一安全信息和第二安全信息的认证码计算。
3.根据权利要求2所述的方法,其特征在于,所述硬件安全引擎基于保存的密钥对接收的目标数据进行认证码计算,生成第二安全信息的步骤,包括:
接收所述eMMC存储器返回的预设编码;
验证所述eMMC存储器返回的预设编码和所述硬件安全引擎内部的预设编码是否一致;
若一致则利用所述密钥对所述预设编码和接收的目标数据进行认证码计算,生成所述第二安全信息。
4.根据权利要求1所述的方法,其特征在于,所述密钥基于所述处理器的唯一硬件标识生成。
5.一种数据读取方法,其特征在于,应用于eMMC存储器,所述eMMC存储器与硬件安全引擎通信连接,所述硬件安全引擎中保存有所述eMMC存储器中用于处理RPMB分区数据的密钥,所述硬件安全引擎中保存的密钥不对外公开,所述方法包括:
接收所述硬件安全引擎发送的读取请求,所述读取请求是处理器发送至所述硬件安全引擎的读取请求;
基于所述读取请求从所述RPMB分区中读取目标数据,并基于所述密钥对所述目标数据进行计算得到第一安全信息;
将所述目标数据和所述第一安全信息发送至所述硬件安全引擎,以使所述硬件安全引擎将第二安全信息与所述第一安全信息进行比对,若一致则将接收的目标数据转发至所述处理器;其中,所述第二安全信息由硬件安全引擎基于保存的密钥对接收的目标数据进行认证码计算生成。
6.一种数据写入方法,其特征在于,应用于硬件安全引擎,所述硬件安全引擎中保存有eMMC存储器中用于处理RPMB分区数据的密钥,所述硬件安全引擎中保存的密钥不对外公开,所述方法包括:
当接收到所述处理器发送的待写入数据时,发送读取计数值请求至所述eMMC存储器,以通过如权利要求1-4任意一项所述的方法从所述eMMC存储器的RPMB分区中读取当前计数值;
基于保存的密钥对所述待写入数据和所述当前计数值进行认证码计算,生成第三安全信息;
将所述第三安全信息、所述待写入数据和所述当前计数值发送至所述eMMC存储器,以使所述eMMC存储器确认接收的当前计数值和所述RPMB分区内部的当前计数值是否相同,若相同则在确认第四安全信息和所述第三安全信息相同的情况下,将所述待写入数据保存到所述RPMB分区中,并将所述当前计数值以预设规律调整;所述第四安全信息由所述eMMC存储器基于所述密钥对接收的待写入数据和当前计数值进行认证码计算生成。
7.一种数据写入方法,其特征在于,应用于eMMC存储器,所述eMMC存储器与硬件安全引擎通信连接,所述硬件安全引擎中保存有所述eMMC存储器中用于处理RPMB分区数据的密钥,所述硬件安全引擎中保存的密钥不对外公开,所述方法包括:
当接收到所述硬件安全引擎发送的读取计数值请求时,通过如权利要求5所述的方法将RPMB分区中的当前计数值发送到所述硬件安全引擎,以使所述硬件安全引擎基于保存的密钥对待写入数据和接收的当前计数值进行认证码计算,生成第三安全信息;其中所述读取计数值请求是所述硬件安全引擎在接收到所述处理器发送的待写入数据时生成的;
接收所述硬件安全引擎发送的第三安全信息、待写入数据和当前计数值;
比对接收的当前计数值和所述RPMB分区内部的当前计数值是否相同;
若相同则比对第四安全信息和所述第三安全信息是否一致,并在一致的条件下将所述待写入数据保存到所述RPMB分区中,并将所述当前计数值以预设规律调整;所述第四安全信息基于所述密钥对接收的待写入数据和当前计数值进行认证码计算生成。
8.一种数据读取装置,其特征在于,应用于硬件安全引擎,所述硬件安全引擎中保存有eMMC存储器中用于处理RPMB分区数据的密钥,所述硬件安全引擎中保存的密钥不对外公开,所述装置包括:
请求单元,用于接收处理器发送的读取请求,并将所述读取请求转发至所述eMMC存储器;
数据单元,用于接收所述eMMC存储器返回的目标数据和第一安全信息,所述目标数据是所述eMMC存储器基于所述读取请求从所述RPMB分区中读取的数据,所述第一安全信息是由所述eMMC存储器基于所述密钥对所述目标数据进行认证码计算的结果;
转发单元,用于将第二安全信息与所述第一安全信息进行比对,若一致则将所述目标数据发送至所述处理器,所述第二安全信息是由所述硬件安全引擎基于保存的密钥对接收的目标数据进行认证码计算的结果。
9.一种数据写入装置,其特征在于,应用于硬件安全引擎,所述硬件安全引擎中保存有eMMC存储器中用于处理RPMB分区数据的密钥,所述硬件安全引擎中保存的密钥不对外公开,所述装置包括:
第二请求单元,用于当接收到所述处理器发送的待写入数据时,发送读取计数值请求至所述eMMC存储器,以通过如权利要求1-4任意一项所述的方法从所述eMMC存储器的RPMB分区中读取当前计数值;
认证单元,用于基于保存的密钥对所述待写入数据和所述当前计数值进行认证码计算,生成第三安全信息;
发送单元,用于将所述第三安全信息、所述待写入数据和所述当前计数值发送至所述eMMC存储器,以使所述eMMC存储器确认接收的当前计数值和所述RPMB分区内部的当前计数值是否相同,若相同则在确认第四安全信息和所述第三安全信息相同的情况下,将所述待写入数据保存到所述RPMB分区中,并将所述当前计数值以预设规律调整;所述第四安全信息由所述eMMC存储器基于所述密钥对接收的待写入数据和当前计数值进行认证码计算生成。
10.一种电子设备,其特征在于,包括:
eMMC存储器和处理器,所述处理器上集成有硬件安全引擎,所述eMMC存储器和所述处理器之间互相通信连接,所述eMMC存储器中存储有计算机指令,所述硬件安全引擎通过执行所述计算机指令,从而执行如权利要求1-4或6任一项所述的方法,所述eMMC存储器通过执行所述计算机指令从而执行如权利要求5或7所述的方法。
CN202210406229.XA 2022-04-18 2022-04-18 一种数据读取、写入方法、装置和电子设备 Pending CN114692124A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210406229.XA CN114692124A (zh) 2022-04-18 2022-04-18 一种数据读取、写入方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210406229.XA CN114692124A (zh) 2022-04-18 2022-04-18 一种数据读取、写入方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN114692124A true CN114692124A (zh) 2022-07-01

Family

ID=82143274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210406229.XA Pending CN114692124A (zh) 2022-04-18 2022-04-18 一种数据读取、写入方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN114692124A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115941204A (zh) * 2022-12-06 2023-04-07 镁佳(北京)科技有限公司 一种基于hse的数据防重放方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108108631A (zh) * 2017-11-29 2018-06-01 晨星半导体股份有限公司 一种根密钥处理方法及相关装置
CN110096908A (zh) * 2018-01-31 2019-08-06 爱思开海力士有限公司 存储装置及存储装置的操作方法
CN110176267A (zh) * 2018-02-19 2019-08-27 爱思开海力士有限公司 存储器系统及其操作方法
CN111699467A (zh) * 2018-12-26 2020-09-22 华为技术有限公司 安全元件、数据处理装置及数据处理方法
CN113557500A (zh) * 2019-04-19 2021-10-26 英特尔公司 多模式受保护存储器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108108631A (zh) * 2017-11-29 2018-06-01 晨星半导体股份有限公司 一种根密钥处理方法及相关装置
CN110096908A (zh) * 2018-01-31 2019-08-06 爱思开海力士有限公司 存储装置及存储装置的操作方法
CN110176267A (zh) * 2018-02-19 2019-08-27 爱思开海力士有限公司 存储器系统及其操作方法
CN111699467A (zh) * 2018-12-26 2020-09-22 华为技术有限公司 安全元件、数据处理装置及数据处理方法
CN113557500A (zh) * 2019-04-19 2021-10-26 英特尔公司 多模式受保护存储器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115941204A (zh) * 2022-12-06 2023-04-07 镁佳(北京)科技有限公司 一种基于hse的数据防重放方法及系统
CN115941204B (zh) * 2022-12-06 2024-04-12 镁佳(北京)科技有限公司 一种基于hse的数据防重放方法及系统

Similar Documents

Publication Publication Date Title
CN111506901B (zh) 基于区块链的数据处理方法、终端及存储介质
CN110457898B (zh) 基于可信执行环境的操作记录存储方法、装置及设备
JP4616268B2 (ja) アプリケーション信任状を供給するための方法および装置
CN111464295B (zh) 银行卡制卡方法及装置
CN110933109B (zh) 小程序动态认证方法及装置
CN111931209B (zh) 基于零知识证明的合同信息验证方法及装置
CN111970109B (zh) 一种数据传输方法及系统
CN113438205B (zh) 区块链数据访问控制方法、节点以及系统
CN111294203A (zh) 信息传输方法
CN112632573A (zh) 智能合约执行方法、装置、系统、存储介质及电子设备
CN115952552A (zh) 远程数据销毁方法、系统及设备
CN108846671B (zh) 基于区块链的在线安全交易方法和系统
CN114095277A (zh) 配电网安全通信方法、安全接入设备及可读存储介质
CN113329004B (zh) 一种认证方法、系统及装置
CN114692124A (zh) 一种数据读取、写入方法、装置和电子设备
CN112948789B (zh) 身份认证方法及装置、存储介质及电子设备
CN112528268B (zh) 跨渠道的小程序登录管理方法、装置及相关设备
US11190351B2 (en) Key generation method and acquisition method, private key update method, chip, and server
CN113127818A (zh) 一种基于区块链的数据授权方法、装置及可读存储介质
CN116821918A (zh) 在线升级方法、芯片装置、计算机终端及存储介质
CN111177674A (zh) 设备验证方法及设备
CN113868713A (zh) 一种数据验证方法、装置、电子设备及存储介质
CN114389790A (zh) 一种安全多方计算方法及装置
CN114640491A (zh) 通信方法和系统
RU2633186C1 (ru) Персональное устройство аутентификации и защиты данных

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20220701