CN111400717B - 数据读取方法及相关装置 - Google Patents

数据读取方法及相关装置 Download PDF

Info

Publication number
CN111400717B
CN111400717B CN202010144970.4A CN202010144970A CN111400717B CN 111400717 B CN111400717 B CN 111400717B CN 202010144970 A CN202010144970 A CN 202010144970A CN 111400717 B CN111400717 B CN 111400717B
Authority
CN
China
Prior art keywords
data
read
processor
authentication code
memory
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
CN202010144970.4A
Other languages
English (en)
Other versions
CN111400717A (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.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information 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 Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Publication of CN111400717A publication Critical patent/CN111400717A/zh
Application granted granted Critical
Publication of CN111400717B publication Critical patent/CN111400717B/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/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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

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

Abstract

本发明实施例提供了一种数据读取方法及相关装置,所述数据读取方法,包括:至少接收待读取数据和所述待读取数据的存储器读数据认证码;所述待读取数据包括至少一个待读取数据包,各所述待读取数据包的接收为并行接收;存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,各所述待写入数据包的存储为并行存储;当所述存储器读数据认证码等于所述处理器读数据认证码时,确认所述待读取数据的完整性。这样,可以利用并行接收和存储各所述待读取数据包的方法,提高处理器芯片与内存之间数据的接收和存储效率。

Description

数据读取方法及相关装置
技术领域
本发明实施例涉及计算机***领域,尤其涉及一种数据读取方法及相关装置。
背景技术
在现有的计算机***中,处理器芯片与内存之间互相传输时需要保证数据的完整性。因为如果不能保证数据的完整性,处理器芯片就有可能读取得到错误的数据。通过修改内存发送的数据,攻击者就有可能利用这个漏洞入侵计算机***。
现有的一种保证数据完整性的方法是内存利用所有待读取数据生成包含于所述待读取数据的完整性信息的认证码,连同所有待读取数据一并发送给处理器芯片,但是这样就需要内存的加密存储单元读取所有所述待读取数据,才能生成相应的完整性信息,而内存同一时间内能够处理的数据量是有限的,这样数据的接收和存储效率就会比较低。
所以,如何在保证数据完整性的前提下,提高处理器芯片与内存之间数据的接收和存储效率就成为本领域技术人员亟需解决的技术问题。
发明内容
本发明实施例解决的技术问题是如何在保证数据完整性的前提下,提高处理器芯片与内存之间数据的接收和存储效率。
为解决上述问题,本发明实施例提供了一种数据读取方法,包括:
至少接收待读取数据和所述待读取数据的存储器读数据认证码;其中,所述待读取数据包括至少一个待读取数据包,各所述待读取数据包的接收为并行接收,所述存储器读数据认证码为至少基于共享密钥和所述待读取数据的写入完整性信息生成的认证码;
存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,各所述待写入数据包的存储为并行存储;
判断所述存储器读数据认证码是否等于所述处理器读数据认证码;
当所述存储器读数据认证码等于所述处理器读数据认证码时,确认所述待读取数据的完整性。
可选的,所述存储器读数据认证码为至少基于所述共享密钥、所述写入完整性信息和存储器读数据计数器值生成的认证码,所述存储器读数据计数器值为基于存储器读数据计数器值的初始值和存储器读数据计数器的计数序列得到的计数器值,且当生成所述存储器读数据认证码后,所述存储器读数据计数器值根据所述存储器读数据计数器的计数序列,将所述存储器读数据计数器值的下一个值作为所述存储器读数据计数器值;
所述至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码的步骤包括:
至少基于所述共享密钥、所述读取完整性信息和当前的处理器读数据计数器值生成所述处理器读数据认证码;当生成所述处理器读数据认证码后,所述处理器读数据计数器值根据所述处理器读数据计数器的计数序列,将当前的所述处理器读数据计数器值的下一个值作为所述处理器读数据计数器值,其中,所述存储器读数据计数器值的初始数值与所述处理器读数据计数器值的初始值相同,所述存储器读数据计数器的计数序列与所述处理器读数据计数器的计数序列相同。
可选的,所述至少接收待读取数据和所述待读取数据的存储器读数据认证码的步骤包括:
接收所述待读取数据、写入所述待读取数据时存储的所述存储器写数据计数器值和所述存储器读数据认证码,所述存储器读数据认证码为基于所述共享密钥、所述处理器写数据认证码和所述存储器写数据认证码二者中的一者和当前的所述存储器读数据计数器值生成的认证码;
所述至少基于所述共享密钥、所述读取完整性信息和当前的处理器读数据计数器值生成所述处理器读数据认证码的步骤包括:
基于所述共享密钥、所述读取完整性信息、当前的所述处理器读数据计数器值和所述存储器写数据计数器值生成所述处理器读数据认证码。
可选的,所述数据读取方法还包括:当所述存储器读数据认证码不等于所述处理器读数据认证码时,返回报告信息。
可选的,所述待读取数据的接收与所述待读取数据的存储器读数据认证码的接收为并行接收。
可选的,各待读取数据包由所述存储器的普通存储单元发送,且发送各所述待写入数据包的所述普通存储单元不同。
可选的,所述待读取数据的存储器读数据认证码由所述存储器的加密存储单元发送。
可选的,所述存储器写数据计数器值的接收与所述待读取数据、所述待读取数据的存储器读数据认证码的接收为并行接收。
可选的,所述存储器写数据计数器值由所述存储器的计数存储单元发送。
可选的,所述待读取数据的获取步骤包括:
存储器接收待读取数据的数据地址和所述数据地址的处理器读请求认证码,其中,所述数据地址包括至少一个数据地址位,各所述数据地址位的接收为并行接收,所述处理器读请求认证码为至少基于共享密钥和所述数据地址生成的认证码;
至少基于所述共享密钥和所述数据地址生成存储器读请求认证码;
判断所述处理器读请求认证码是否等于所述存储器读请求认证码;
当所述处理器读请求认证码等于所述存储器读请求认证码时,根据所述数据地址获取所述待读取数据。
可选的,所述处理器读请求认证码为基于所述共享密钥、所述待读取地址和处理器读请求计数器值生成的认证码;所述处理器读请求计数器值为基于处理器读请求计数器值的初始值和处理器读请求计数器的计数序列得到的计数器值,且当生成所述处理器读请求认证码后,所述处理器读请求计数器值根据所述处理器读请求计数器的计数序列,将当前的所述处理器读请求计数器值的下一个值作为所述处理器读请求计数器值;
所述至少基于所述共享密钥和所述数据地址生成存储器读请求认证码的步骤包括:基于所述共享密钥、所述数据地址和当前的存储器读请求计数器值生成所述存储器读请求认证码;当生成所述存储器读请求认证码后,所述存储器读请求计数器值根据所述存储器读请求计数器的计数序列,将当前的所述存储器读请求计数器值的下一个值作为所述存储器读请求计数器值;其中,所述存储器读请求计数器值为基于存储器读请求计数器值的初始值和存储器读请求计数器的计数序列得到的计数器值,所述存储器读请求计数器值的初始值与所述处理器读请求计数器值的初始值相同,所述存储器读请求计数器的计数序列与所述处理器读请求计数器的计数序列相同。
可选的,所述数据读取方法,还包括:
当所述处理器读请求认证码不等于所述存储器读请求认证码时,向所述处理器返回报告信息。
可选的,所述各数据地址位的接收与所述数据地址的处理器读请求认证码的接收为并行接收。
可选的,利用所述存储器的普通存储单元接收各所述数据地址位;各所述数据地址对应的所述普通存储单元不同。
可选的,利用所述存储器的加密存储单元接收所述数据地址和所述数据地址的处理器读请求认证码。
可选的,利用所述存储器的计数存储单元存储当前的所述存储器读请求计数器值。
本发明实施例还提供了一种数据读取装置,包括:
处理器接收模块,所述处理器接收模块适于至少接收待读取数据和所述待读取数据的存储器读数据认证码;其中,所述待读取数据包括至少一个待读取数据包,各所述待读取数据包的接收为并行接收,所述存储器读数据认证码为至少基于共享密钥和所述待读取数据的写入完整性信息生成的认证码;
处理器存储模块,所述处理器存储模块适于存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,各所述待写入数据包的存储为并行存储;
处理器判断模块,所述处理器判断模块适于判断所述存储器读数据认证码是否等于所述处理器读数据认证码;
处理器确认模块,所述处理器确认模块适于当所述存储器读数据认证码等于所述处理器读数据认证码时,确认所述待读取数据的完整性。
可选的,所述存储器读数据认证码为至少基于所述共享密钥、所述写入完整性信息和存储器读数据计数器值生成的认证码,所述存储器读数据计数器值为基于存储器读数据计数器值的初始值和存储器读数据计数器的计数序列得到的计数器值,且当生成所述存储器读数据认证码后,所述存储器读数据计数器值根据所述存储器读数据计数器的计数序列,将所述存储器读数据计数器值的下一个值作为所述存储器读数据计数器值;
所述处理器存储模块,适于至少基于所述共享密钥、所述读取完整性信息和当前的处理器读数据计数器值生成所述处理器读数据认证码;当生成所述处理器读数据认证码后,所述处理器读数据计数器值根据所述处理器读数据计数器的计数序列,将当前的所述处理器读数据计数器值的下一个值作为所述处理器读数据计数器值,其中,所述存储器读数据计数器值的初始数值与所述处理器读数据计数器值的初始值相同,所述存储器读数据计数器的计数序列与所述处理器读数据计数器的计数序列相同。
可选的,所述处理器接收模块适于接收所述待读取数据、写入所述待读取数据时存储的所述存储器写数据计数器值和所述存储器读数据认证码,所述存储器读数据认证码为基于所述共享密钥、所述处理器写数据认证码和所述存储器写数据认证码二者中的一者和当前的所述存储器读数据计数器值生成的认证码;
所述处理器存储模块,适于基于所述共享密钥、所述读取完整性信息、当前的所述处理器读数据计数器值和所述存储器写数据计数器值生成所述处理器读数据认证码。
本发明实施例还提供了一种片上***,包括:
普通处理器,所述普通处理器包括至少一个处理器核心,适于发送读数据请求以读取数据,包括读取至少一个待读取数据包,各处理器核心适于并行接收各所述待读取数据包;
加密处理器,适于至少接收所述待读取数据的存储器读数据认证码;其中所述存储器读数据认证码为至少基于共享密钥和所述待读取数据的写入完整性信息生成的认证码;存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,各所述待写入数据包的存储为并行存储;当所述存储器读数据认证码等于所述处理器读数据认证码时,确认所述待读取数据的完整性。
可选的,所述存储器读数据认证码为至少基于所述共享密钥、所述写入完整性信息和存储器读数据计数器值生成的认证码,所述存储器读数据计数器值为基于存储器读数据计数器值的初始值和存储器读数据计数器的计数序列得到的计数器值,且当生成所述存储器读数据认证码后,所述存储器读数据计数器值根据所述存储器读数据计数器的计数序列,将所述存储器读数据计数器值的下一个值作为所述存储器读数据计数器值;
所述加密处理器,适于至少基于所述共享密钥、所述读取完整性信息和当前的处理器读数据计数器值生成所述处理器读数据认证码;当生成所述处理器读数据认证码后,所述处理器读数据计数器值根据所述处理器读数据计数器的计数序列,将当前的所述处理器读数据计数器值的下一个值作为所述处理器读数据计数器值,其中,所述存储器读数据计数器值的初始数值与所述处理器读数据计数器值的初始值相同,所述存储器读数据计数器的计数序列与所述处理器读数据计数器的计数序列相同。
可选的,所述加密处理器,还适于接收所述待读取数据写入时存储的所述存储器写数据计数器值和所述存储器读数据认证码,所述存储器读数据认证码为基于所述共享密钥、所述处理器写数据认证码和所述存储器写数据认证码二者中的一者和当前的所述存储器读数据计数器值生成的认证码;基于所述共享密钥、所述读取完整性信息、当前的所述处理器读数据计数器值和所述存储器写数据计数器值生成所述处理器读数据认证码。
本发明实施例还提供了一种处理器,其特征在于,所述处理器配置为执行所述数据读取方法。
本发明实施例还提供了一种电子设备,其特征在于,包括所述数据读取装置,或所述片上***,或所述处理器。
与现有技术相比,本发明实施例的技术方案具有如下优点:
本发明实施例所提供的数据读取方法中,由于所述待读取数据包括至少一个待读取数据包,处理器可以并行接收和存储各所述待读取数据包,并接收和所述待读取数据的处理器读数据认证码,然后利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,通过比较所述处理器读数据认证码与所述存储器读数据认证码,来验证所述待读取数据的完整性,这样,一方面可以利用并行接收和存储各所述待读取数据包的方法,提高处理器芯片与内存之间数据的读取效率;同时,可以利用处理器读数据认证码与所述存储器读数据认证码的比较保证数据完整性;进一步地,存储器还利用写入过程存储的写入完整性信息生成存储器读数据认证码,进而进行处理器读数据认证码与存储器读数据认证码的比较,无需利用待读取数据在存储器计算完整性信息,降低完整性信息的计算所造成的运算瓶颈的影响,从而在保证数据完整性的前提下提高数据存储效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的数据写入方法的流程示意图;
图2为本发明实施例所提供的数据写入方法和数据读取方法的装置示意图;
图3为本发明实施例所提供的又一数据写入方法的流程示意图;
图4为本发明实施例所提供的数据读取方法的流程示意图;
图5为本发明实施例所提供的又一数据读取方法的流程示意图;
图6为本发明实施例所提供的又一数据读取方法的流程示意图;
图7为本发明实施例所提供的待读取数据获取步骤的流程示意图;
图8为本发明实施例所提供的又一待读取数据获取步骤的流程示意图;
图9为本发明实施例所提供的数据写入装置的结构示意图;
图10为本发明实施例所提供的数据读取装置的结构示意图;
图11为本发明实施例所提供的片上***的结构示意图。
具体实施方式
由背景技术可知,现有技术中在保证数据完整性的前提下,处理器芯片与内存之间数据的接收和存储效率较低。
本发明实施例提供了一种数据读取方法及相关装置,所述数据读取方法,包括:至少接收待读取数据和所述待读取数据的存储器读数据认证码;其中,所述待读取数据包括至少一个待读取数据包,各所述待读取数据包的接收为并行接收,所述存储器读数据认证码为至少基于共享密钥和所述待读取数据的写入完整性信息生成的认证码;存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,各所述待写入数据包的存储为并行存储;判断所述存储器读数据认证码是否等于所述处理器读数据认证码;当所述存储器读数据认证码等于所述处理器读数据认证码时,确认所述待读取数据的完整性。
这样,本发明实施例所提供的数据读取方法中,所述待读取数据包括至少一个待读取数据包,处理器可以并行接收和存储各所述待读取数据包,并接收和所述待读取数据的处理器读数据认证码,然后利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,通过比较所述处理器读数据认证码与所述存储器读数据认证码,来验证所述待读取数据的完整性,这样,一方面可以利用并行接收和存储各所述待读取数据包的方法,提高处理器芯片与内存之间数据的读取效率;同时,可以利用处理器读数据认证码与所述存储器读数据认证码的比较保证数据完整性;进一步地,存储器还利用写入过程存储的写入完整性信息生成存储器读数据认证码,进而进行处理器读数据认证码与存储器读数据认证码的比较,无需利用待读取数据在存储器计算完整性信息,降低完整性信息的计算所造成的运算瓶颈的影响,从而在保证数据完整性的前提下提高数据存储效率。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为方便理解,首先进行数据写入过程的介绍和说明。
请参考图1,图1为本发明实施例所提供的数据写入方法的流程示意图。
如图中所示,本发明实施例所提供的数据写入方法,包括:
步骤S11:接收待写入数据、所述待写入数据的写入完整性信息和所述待写入数据的处理器写数据认证码,所述待写入数据包括至少一个待写入数据包,各所述待写入数据包的接收为并行接收,所述处理器写数据认证码为至少基于共享密钥和所述写入完整性信息生成的认证码。
可以理解的是,发送所述待写入数据、所述待写入数据的写入完整性信息和所述待写入数据的处理器写数据认证码的是处理器,所述处理器可以是处理器芯片,也可以是其他可以进行写入操作的设备。接收待写入数据、所述待写入数据的写入完整性信息和所述待写入数据的处理器写数据认证码的是存储器,所述存储器可以是内存,也可以是其他具有存储功能的设备。
所述待写入数据包括至少一个待写入数据包,各所述待写入数据包的接收为并行接收,各所述待写入数据包的接收为并行接收的含义为:各个所述待写入数据包的接收可以同时进行;当然,本文所述的同时进行既可以包括同时开始同时结束的情况,也可以包括不同时开始或不同时结束的情况,即:在一个操作进行时,另一个待写入数据包也在进行的情况。
为方便说明,请参考图2,图2为本发明实施例所提供的数据写入方法和数据读取方法的装置示意图。
如图2中所示,本发明实施例所提供的数据写入方法的装置包括:处理器1和存储器2,存储器2接收处理器1发送的所述待写入数据时,为了提高发送效率,可以将待写入数据拆分为多个待写入数据包,然后并行地发送至存储器2。在一种具体实施方式中,为保证传输效率,同时降低成本,可以利用存储器2的多个普通存储单元21接收各待写入数据包。如图2所示,在一种具体实施方式中,所述普通存储单元21包括第一普通存储单元、第二普通存储单元、第三普通存储单元和第四普通存储单元。当然,在另一种具体实施方式中,所述普通存储单元21可以包括数量更多或更少的普通存储单元。
各普通存储单元21接收所述待写入数据包时,并不要求一个所述待写入数据包的接收完成之后另一个所述待写入数据包才能开始接收。当然,各普通存储单元21也可同时接收所述待写入数据包。为了提高接收速度,可以设置待写入数据包的数量与存储器的普通存储单元21的数量相同。
所述各待写入数据包的大小可以等于所述处理器或所述存储器中一个字的大小,也可以大于或小于所述处理器或所述存储器中一个字的大小。
所述各待写入数据包的大小可以相同,也可以不同。
在一种具体实施方式中,各所述待写入数据包的大小可以为16字节。
为保证数据完整性,除了接收待写入数据,还要接收处理器写数据认证码,其中,处理器写数据认证码为所述处理器至少基于处理器的所述共享密钥和所发送的待写入数据的写入完整性信息生成的。
可以理解的是,所述共享密钥为所述处理器和所述存储器共同协商得出的密钥。所述共享密钥可以通过密钥协商算法得出。在得到所述共享密钥之前,所述处理器和所述存储器可以事先通过数字签名等方法相互验证身份。
所述完整性信息可以是根据MD5算法、SHA-1算法或其他算法得到的所述待写入数据的哈希值,也可以是其他可以反映数据的完整性的信息。
所述待写入数据的处理器写数据认证码的大小也可以根据需要设置,在一种具体实施方式中,所述待写入数据的处理器写数据认证码的大小也可以为16字节。
进一步地,为了减小计算瓶颈,还需要接收待写入数据的写入完整性信息,所述待写入数据的写入完整性信息的大小可以根据需要设置,在一种具体实施方式中,所述待写入数据的写入完整性信息的大小可以为16字节。
所述待写入数据的接收与所述待写入数据的写入完整性信息、所述待写入数据的处理器写数据认证码的接收之间可以是串行接收,也可以是并行接收。在一种具体实施方式中,为了提高接收速度,所述待写入数据的接收与所述待写入数据的写入完整性信息、所述待写入数据的处理器写数据认证码的接收为并行接收。
由于所述待写入数据的接收与所述待写入数据的写入完整性信息、所述待写入数据的处理器写数据认证码的接收为并行接收,所述存储器可以同时接收所述待写入数据和待写入数据的写入完整性信息、所述待写入数据的处理器写数据认证码,从而提高接收效率,减少接收所需时间。
步骤S12:存储所述待写入数据,至少基于共享密钥和所述写入完整性信息生成存储器写数据认证码,各所述待写入数据包的存储为并行存储。
类似的,各所述待写入数据包的存储为并行存储的含义为:各个所述待写入数据包的存储可以同时进行。
各所述待写入数据包的存储位置也可以根据需要设置。
请继续参考图2,在一种具体实施方式中,利用所述存储器的普通存储单元21存储各所述待写入数据包,其中,存储各所述待写入数据包的各所述普通存储单元21不同。如图2所示,在一种具体实施方式中,第一普通存储单元、第二普通存储单元、第三普通存储单元和第四普通存储单元分别存储各所述待写入数据包。
由于是不同的各所述普通存储单元接收各所述待写入数据包,所述存储器可以同时存储所述待写入数据,从而提高存储效率,减少存储所需时间。
所述存储器写数据认证码为所述存储器至少基于存储器的所述共享密钥和接收的所述写入完整性信息生成的。所述存储器写数据认证码和所述处理器写数据认证码利用相同的派生密钥算法生成。
所述待写入数据的存储器写数据认证码的大小也可以根据需要设置,只要所述待写入数据的存储器写数据认证码与所述处理器写数据认证码的大小相同,所以,在一种具体实施方式中,所述待写入数据的存储器写数据认证码的大小可以为16字节。
由于可以利用所述存储器的加密存储单元接收所述待写入数据的写入完整性信息和所述待写入数据的处理器写数据认证码,所以为了比对的方便,所述存储器写数据认证码的生成也可以由所述存储器的加密存储单元的进行。
步骤S13:判断所述处理器写数据认证码是否等于所述存储器写数据认证码;若是,执行步骤S14。
得到存储器写数据认证码后,判断所述处理器写数据认证码是否等于所述存储器写数据认证码的判断,如果相等,则说明所述处理器与所述存储器的共享密钥一致,所述处理器所发送的待写入数据的写入完整性信息与所述存储器接收的所述写入完整性信息一致;当所述存储器不发生其他错误时,所述处理器所发送的待写入数据与所述存储器接收存储的待写入数据一致,从而可以保证所述待写入数据的完整性。
步骤S14:至少存储所述处理器写数据认证码或所述存储器写数据认证码。
所述至少存储所述处理器写数据认证码或所述存储器写数据认证码为至少存储所述处理器写数据认证码或所述存储器写数据认证码中的一者。因为此时所述处理器写数据认证码或所述存储器写数据认证码相同,所以可以只存储所述处理器写数据认证码或所述存储器写数据认证码两者中的一者。
所述处理器写数据认证码或所述存储器写数据认证码的存储位置可以根据需要设置。具体地,请继续参考图2,在一种具体实施方式中,可以利用所述存储器的加密存储单元22存储所述处理器写数据认证码或所述存储器写数据认证码两者中的一者。
通过利用所述存储器的加密存储单元存储所述处理器写数据认证码或所述存储器写数据认证码,可以与所述普通存储单元进行隔离,从而可以增强所述数据写入方法的安全性。
由于在通常的情况下,所述处理器写数据认证码不等于所述存储器写数据认证码是一种异常的表现,此时所述存储器可以向所述处理器返回相关的信息,从而利用其他方法进行处理,也可以不向所述处理器返回相关的信息。
所以,在一种具体实施方式中,当所述处理器写数据认证码不等于所述存储器写数据认证码时,可以执行步骤S15:返回报告信息。
可以理解的是,所述报告信息可以包括所述处理器写数据认证码不等于所述存储器写数据认证码的信息,也可以包括所述待写入数据的大小信息、位置信息等信息,也可以包括接收所述待写入数据的时间信息,还可以包括其他信息。所述报告信息可以由所述存储器向所述处理器返回,也可以由所述存储器向其他设备返回。
这样,当所述处理器写数据认证码不等于所述存储器写数据认证码时,所述存储器可以向所述处理器或其他设备返回相关的报告信息,从而便于处理器进行下一步操作。
可见,本发明实施例所提供的数据写入方法中,待写入数据包括至少一个待写入数据包,存储器可以并行接收和存储各所述待写入数据包,并接收在处理器计算的所述待写入数据的写入完整性信息,和所述待写入数据的处理器写数据认证码,然后至少基于所述共享密钥和所述写入完整性信息生成存储器写数据认证码,通过比较所述处理器写数据认证码与所述存储器写数据认证码,来验证所述待写入数据的完整性,这样,一方面可以利用并行接收和存储各所述待写入数据包的方法,提高处理器芯片与内存之间数据的接收和存储效率;同时,可以利用处理器写数据认证码与所述存储器写数据认证码的比较保证数据完整性;进一步地,还利用接收的在处理器计算的待写入数据的写入完整性信息,生成存储器写数据认证码,进而进行处理器写数据认证码与存储器写数据认证码的比较,无需再次利用待写入数据在存储器计算写入完整性信息,降低写入完整性信息的计算所造成的运算瓶颈的影响,从而在保证数据完整性的前提下提高数据存储效率。
当然,基于所述共享密钥和所述待写入数据的写入完整性信息生成的写数据认证码虽然能够保证所述待写入数据的完整性,但是当所述处理器或所述处理器和存储器之外的第三端,向所述存储器发送之前已经发送过的待写入数据、所述待写入数据的写入完整性信息和所述待写入数据的处理器写数据认证码时,所述存储器并不能识别出上述信息第三端还是所述处理器发送的,而是只能进行再次进行所述待写入数据的写入,这样就可能会被攻击者利用,达到覆盖所述存储器所存储的内容的目的。
所以,为了提高所述数据写入方法的安全性,在另一种具体实施方式中,本发明实施例还提供了一种数据写入方法,请参考图3,图3为本发明实施例所提供的又一数据写入方法的流程示意图。
如图3所示,本发明实施例所提供的数据写入方法包括:
步骤S21:接收待写入数据、所述待写入数据的写入完整性信息和所述待写入数据的处理器写数据认证码。
步骤S21的部分内容请参考图1所示步骤S11的内容,在此不再赘述。
在本实施例中,所述处理器写数据认证码为所述处理器基于处理器的所述共享密钥和所发送的待写入数据的写入完整性信息和当前的处理器写数据计数器值生成的认证码。
可以理解的是,所述处理器写数据计数器值为基于处理器写数据计数器值的初始值和处理器写数据计数器的计数序列得到的计数器值,且每当生成所述处理器写数据认证码后,根据当前的处理器写数据计数器值和所述处理器写数据计数器的计数序列可以获取新的处理器写数据计数器值,并存储为处理器写数据计数器值。
所述处理器写数据计数器值为基于处理器写数据计数器值的初始值和处理器写数据计数器的计数序列得到的计数器值,其中所述处理器写数据计数器的计数序列为每一位之间数字各不相同的数字序列,这样,当得知一个处理器写数据计数器值时,就可以得知前后指定位数的计数器值。
所述处理器写数据计数器的计数序列的形式有很多种,可以根据需要选择。为了方便,在一种具体实施方式中,所述处理器写数据计数器的计数序列与所述存储器写数据计数器的计数序列可以为0为首项,1为公差的等差数列。
即如果用A表示处理器写数据计数器值,设置处理器写数据计数器值的初始值为0,处理器写数据计数器的计数序列为1,则处理器写数据计数器值的赋值公式即为A=A+1,经过1次生成所述处理器写数据认证码后,处理器写数据计数器值为1,经过2次生成所述处理器写数据认证码后,处理器写数据计数器值为2,以此类推。
步骤S22:基于所述共享密钥、所述写入完整性信息和当前的存储器写数据计数器值生成所述存储器写数据认证码,根据所述当前的存储器写数据计数器值和存储器写数据计数器的计数序列获取新的存储器写数据计数器值,并存储为存储器写数据计数器值。
步骤S22的部分内容请参考图1所示步骤S12的的内容,在此不再赘述。
其中,所述存储器写数据计数器值为基于存储器写数据计数器值的初始值和所述存储器写数据计数器的计数序列得到的计数器值,所述存储器写数据计数器值的初始值与所述处理器写数据计数器值的初始值相同,所述存储器写数据计数器的计数序列与所述处理器写数据计数器的计数序列相同。
这样,所述存储器写数据认证码为所述存储器基于存储器的所述共享密钥、所述存储器接收的所述写入完整性信息和当前的存储器写数据计数器值生成的认证码。
所述存储器写数据计数器值为基于存储器写数据计数器值的初始值和存储器写数据计数器的计数序列得到的计数器值,其中所述存储器写数据计数器的计数序列为每一位之间数字各不相同的数字序列,这样,当得知一个存储器写数据计数器值时,就可以得知前后指定位数的计数器值。
所述存储器写数据计数器的计数序列的形式有很多种,可以根据需要选择。只要满足所述存储器写数据计数器的计数序列与所述处理器写数据计数器的计数序列相同的条件就可以。
由于所述存储器写数据计数器值的初始值与所述处理器写数据计数器值的初始值相同,所述存储器写数据计数器的计数序列与所述处理器写数据计数器的计数序列相同,当所述存储器写数据计数器值与所述处理器写数据计数器值进行相同操作,例如将当前的计数器值的下一个值作为新的计数器值时,所述存储器写数据计数器值与所述处理器写数据计数器值能够一直保持相等。
可以理解的是,所述存储器写数据计数器值的初始值与所述处理器写数据计数器值的初始值相同可以通过所述存储器和处理器中的一者向另一者发送当前的写数据计数器值,另一者将所收到的写数据计数器值赋值给自身的写数据计数器值的方法实现。所述存储器写数据计数器值的初始值与所述处理器写数据计数器值的初始值相同可以在所述处理器和所述存储器共同协商得出所述共享密钥时实现,也可以在得到所述共享密钥之前,所述处理器和所述存储器事先通过数字签名相互验证身份时实现。
步骤S23:判断所述处理器写数据认证码是否等于所述存储器写数据认证码;若是,执行步骤S24。若否,也可以执行步骤S25。
得到存储器写数据认证码后,判断所述处理器写数据认证码是否等于所述存储器写数据认证码,如果相等,则说明所述处理器与所述存储器的共享密钥一致,所述处理器所发送的待写入数据的写入完整性信息与所述存储器接收的所述写入完整性信息一致,所述存储器写数据计数器值与所述处理器写数据计数器值相同;当所述存储器不发生其他错误时,所述处理器所发送的待写入数据与所述存储器接收存储的待写入数据一致,这样就保证了所述待写入数据的完整性。而且当所述处理器或所述处理器和存储器之外的第三端,向所述存储器发送之前已经发送过的待写入数据、所述待写入数据的写入完整性信息和所述待写入数据的处理器写数据认证码时,由于此时所述待写入数据的处理器写数据认证码所基于的所述处理器写数据计数器值与当前的所述存储器写数据计数器值并不相同,所述存储器能够识别出来,不再进行所述待写入数据的写入,从而避免了被攻击者利用,可以防止覆盖所述存储器所存储的内容,提高所述数据写入方法的安全性。
步骤S24:存储当前的所述处理器写数据认证码和所述当前的存储器写数据认证码二者中的一者和所述当前的存储器写数据计数器值。
步骤S24的部分内容请参考图1所示的步骤S14,在此不再赘述。
另外,为了在数据读取时也保证所述待写入数据的完整性,请继续参考图3,在一种具体实施方式中,还可以存储所述当前的存储器写数据计数器值。
存储当前的所述存储器写数据计数器值时,可以将当前的所述存储器写数据计数器值与当前的所述待写入数据通过添加标记等方法进行对应,从而便于在读取所述待写入数据时,能够保护已写入的所述待写入数据的完整性。
所述存储器写数据计数器值的存储位置可以根据需要设置。具体地,请继续参考图2,在一种具体实施方式中可以利用所述存储器的计数存储单元23存储当前的所述存储器写数据计数器值。当然,在另一种具体实施方式中,当前的存储器写数据计数器值,也可以存储至存储器的加密存储单元22。
通过利用所述存储器的计数存储单元存储当前的所述存储器写数据计数器值,可以与所述普通存储单元进行隔离,可以增强所述数据写入方法的安全性。
步骤S25:返回报告信息。
步骤S25的具体内容请参考图1所示的步骤S15,在此不再赘述。
当然,可以理解的是,数据写入后,在进行数据的读取时,为解决前述问题,本发明实施例提供了一种数据读取方法。
请参考图4,图4为本发明实施例所提供的数据读取方法的流程示意图。
如图中所示,本发明实施例所提供的一种数据读取方法,包括:
步骤S31:至少接收待读取数据和所述待读取数据的存储器读数据认证码。
其中,所述待读取数据包括至少一个待读取数据包,各所述待读取数据包的接收为并行接收,所述存储器读数据认证码为至少基于共享密钥和所述待读取数据的写入完整性信息生成的认证码。
当然,所述待读取数据包括至少一个待读取数据包,各所述待读取数据包的接收为并行接收也包括待读取数据仅包括一个待读取数据包的情况。
可以理解的是,至少接收待读取数据和所述待读取数据的存储器读数据认证码是处理器,所述处理器可以是处理器芯片,也可以是其他可以进行写入操作的设备。至少发送待读取数据和所述待读取数据的存储器读数据认证码的是存储器,所述存储器可以是内存,也可以是其他具有存储功能的设备。
所述待读取数据包括至少一个待读取数据包,各所述待读取数据包的接收为并行接收,各所述待读取数据包的接收为并行接收的含义为:各个所述待读取数据包的接收可以同时进行。
为方便说明,请继续参考图2。
如图2中所示,本发明实施例所提供的数据读取方法的装置包括:处理器1和存储器2,存储器2向处理器1发送所述待读取数据时,为了提高发送效率,可以将待读取数据拆分为多个待读取数据包,然后并行地发送至处理器1。
在一种具体实施方式中,为保证传输效率,同时降低成本,可以利用存储器2的多个普通存储单元21发送各待读取数据包。如图2所示,第一普通存储单元、第二普通存储单元、第三普通存储单元和第四普通存储单元均可以发送各待读取数据包。
各普通存储单元21发送所述待读取数据包时,并不要求一个所述待读取数据包的发送完成之后另一个所述待读取数据包才能开始发送。当然,各普通存储单元21也可同时发送所述待读取数据包。为了提高发送速度,可以设置,每次发送待读取数据包的数量与存储器的普通存储单元21的数量相同。
所述各待读取数据包的大小可以等于所述处理器或所述存储器中一个字的大小,也可以大于或小于所述处理器或所述存储器中一个字的大小。在一种具体实施方式中,各所述待读取数据包的大小可以为16字节。
为保证数据完整性,除了接收待读取数据,还要接收存储器读数据认证码,所述存储器读数据认证码为所述存储器至少基于存储器的所述共享密钥和所述待读取数据写入时接收的写入完整性信息生成的认证码。具体的,所述存储器读数据认证码可以至少基于所述存储器的所述共享密钥和所述待读取数据写入时存储的处理器写数据认证码或所述存储器写数据认证码中的一者生成。而所述待读取数据写入时存储的处理器写数据认证码或所述存储器写数据认证码均至少基于所述共享密钥和所述待读取数据写入时接收的写入完整性信息生成。
可以理解的是,所述共享密钥为所述处理器和所述存储器共同协商得出的密钥。所述共享密钥可以通过密钥协商算法得出。在得到所述共享密钥之前,所述处理器和所述存储器可以事先通过数字签名相互验证身份。
所述读取完整性信息可以是所述处理器根据MD5算法、SHA-1算法或其他算法得到的所述待读取数据的哈希值,也可以是其他可以反映数据的完整性的信息。
所述待读取数据的存储器读数据认证码的大小也可以根据需要设置,在一种具体实施方式中,所述待读取数据的存储器读数据认证码的大小也可以为16字节。
所述待读取数据的接收与所述待读取数据的存储器读数据认证码的接收之间可以是串行接收,也可以是并行接收。在一种具体实施方式中,为了提高接收速度,所述待读取数据的接收与所述待读取数据的存储器读数据认证码的接收为并行接收。
所述待读取数据的接收与所述待读取数据的存储器读数据认证码的接收为并行接收,可以同时接收所述待读取数据与所述待读取数据的存储器读数据认证码,从而提高接收效率,减少接收所需时间。
各所述待读取数据包的发送位置也可以根据需要设置。
请继续参考图2,在一种具体实施方式中,各待读取数据包由所述存储器的普通存储单元发送,且发送各所述待读取数据包的所述普通存储单元不同。
由于是各所述普通存储单元发送各待读取数据包,所述存储器可以同时发送所述待读取数据,从而提高发送效率,减少发送所需时间。
所述存储器读数据认证码的发送位置可以根据需要设置。具体地,请继续参考图2,在一种具体实施方式中,所述待读取数据的存储器读数据认证码由所述存储器的加密存储单元发送。
通过由所述存储器的加密存储单元发送所述待读取数据的存储器读数据认证码,可以与所述普通存储单元进行隔离,可以增强所述数据写入方法的安全性。
步骤S32:存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,各所述待读取数据包的存储为并行存储。
类似的,各所述待读取数据包的存储为并行存储的含义为:各个所述待读取数据包的存储可以同时进行。
所述处理器读数据认证码为所述处理器至少基于存储器的所述共享密钥和利用所述待读取数据生成所述待读取数据的读取完整性信息生成的。所述处理器读数据认证码和所述存储器读数据认证码利用相同的派生密钥算法生成。具体的,所述处理器可以至少基于所述处理器的所述共享密钥和利用所述待读取数据生成所述待读取数据的读取完整性信息生成一个与所述待读取数据写入时的所述处理器写数据认证码相同的认证码。然后至少基于该与所述待读取数据写入时的所述处理器写数据认证码相同的认证码与所述共享密钥生成所述处理器读数据认证码。
所述待读取数据的处理器读数据认证码的大小也可以根据需要设置,只要所述待读取数据的处理器读数据认证码与所述处理器读数据认证码的大小相同,所以,在一种具体实施方式中,所述待读取数据的处理器读数据认证码的大小可以为16字节。
步骤S33:至判断所述存储器读数据认证码是否等于所述处理器读数据认证码;是,执行步骤S34。
当所述处理器读数据认证码和所述存储器读数据认证码相等时,所述处理器与所述存储器的共享密钥一致,所述处理器利用所述待读取数据所生成的读取完整性信息与所述存储器在所述待读取数据写入时接收的写入完整性信息一致;当所述存储器不发生其他错误时,所述处理器所接收的待读取数据与所述存储器发送的待读取数据一致,这样就保证了所述待读取数据的完整性。
步骤S34:确认所述待读取数据的完整性。
当所述存储器读数据认证码等于所述处理器读数据认证码时,确认所述待读取数据的完整性。
在通常的情况下,所述处理器读数据认证码不等于所述存储器读数据认证码是一种异常的表现,此时所述处理器可以返回相关的信息,从而利用其他方法进行处理,也可以不返回相关的信息。
所以,在一种具体实施方式中,当所述处理器读数据认证码不等于所述存储器读数据认证码时,执行步骤S35:返回报告信息。
可以理解的是,所述报告信息可以包括所述处理器读数据认证码不等于所述存储器读数据认证码的信息,也可以包括所述待读取数据的大小信息、位置信息等信息,也可以包括接收所述待读取数据的时间信息,还可以包括其他信息。
这样,当所述处理器读数据认证码不等于所述存储器读数据认证码时,所述处理器可以返回相关的报告信息,从而便于进行下一步操作。
这样,本发明实施例所提供的数据读取方法中,所述待读取数据包括至少一个待读取数据包,处理器可以并行接收和存储各所述待读取数据包,并接收和所述待读取数据的处理器读数据认证码,然后利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,通过比较所述处理器读数据认证码与所述存储器读数据认证码,来验证所述待读取数据的完整性,这样,一方面可以利用并行接收和存储各所述待读取数据包的方法,提高处理器芯片与内存之间数据的接收和存储效率;同时,可以利用处理器读数据认证码与所述存储器读数据认证码的比较保证数据完整性;进一步地,存储器还利用写入过程存储的写入完整性信息生成存储器读数据认证码,进而进行处理器读数据认证码与存储器读数据认证码的比较,无需利用待读取数据在存储器计算完整性信息,降低完整性信息的计算所造成的运算瓶颈的影响,从而在保证数据完整性的前提下提高数据存储效率。
当然,所述数据读取方法虽然能够保证所述待读取数据的完整性,但是当所述存储器或所述存储器和处理器之外的第三端,向所述处理器发送之前已经发送过的待读取数据和所述待读取数据的存储器读数据认证码时,所述处理器并不能识别,从而会对所述待读取数据进行重复操作,这样就可能会被攻击者利用,对所述处理器的安全产生影响。
所以,为了提高所述数据读取方法的安全性,在另一种具体实施方式中,本发明实施例还提供了一种数据读取方法,请参考图5,图5为本发明实施例所提供的又一数据读取方法的流程示意图。
如图5所示,本发明实施例所提供的数据读取方法包括:
步骤S41:至少接收待读取数据和所述待读取数据的存储器读数据认证码。
步骤S41的部分内容请参考图4所示步骤S31的内容,在此不再赘述。
在本实施例中,所述存储器读数据认证码为至少基于所述共享密钥、所述写入完整性信息和存储器读数据计数器值生成的认证码。
可以理解的是,所述存储器读数据计数器值为基于存储器读数据计数器值的初始值和存储器读数据计数器的计数序列得到的计数器值,且每当生成所述存储器读数据认证码后,根据当前的存储器读数据计数器值和所述存储器读数据计数器的计数序列获取新的存储器读数据计数器值,并存储为存储器读数据计数器值。
这样,所述存储器读数据认证码为所述存储器基于存储器的所述共享密钥和所发送的待读取数据的写入完整性信息和当前的存储器读数据计数器值生成的认证码。
所述存储器读数据计数器值为基于存储器读数据计数器值的初始值和存储器读数据计数器的计数序列得到的计数器值,其中所述存储器读数据计数器的计数序列为每一位之间数字各不相同的数字序列,这样,当得知一个存储器读数据计数器值时,就可以得知前后指定位数的计数器值。
所述存储器读数据计数器的计数序列的形式有很多种,可以根据需要选择。为了方便,在一种具体实施方式中,所述存储器读数据计数器的计数序列与所述存储器写数据计数器的计数序列为0为首项,1为公差的等差数列。
步骤S42:存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥、所述读取完整性信息和当前的处理器读数据计数器值生成所述处理器读数据认证码;当生成所述处理器读数据认证码后,所述处理器读数据计数器值根据所述处理器读数据计数器的计数序列,将当前的所述处理器读数据计数器值的下一个值作为所述处理器读数据计数器值。
步骤S42的部分内容请参考图4所示步骤S32的内容,在此不再赘述。
其中,所述存储器读数据计数器值的初始数值与所述处理器读数据计数器值的初始值相同,所述存储器读数据计数器的计数序列与所述处理器读数据计数器的计数序列相同。
所述处理器读数据认证码为所述处理器至少基于处理器的所述共享密钥、利用所述待读取数据所生成的读取完整性信息和当前的处理器读数据计数器值生成的认证码。
所述处理器读数据计数器值为基于处理器读数据计数器值的初始值和处理器读数据计数器的计数序列得到的计数器值,其中所述处理器读数据计数器的计数序列为每一位之间数字各不相同的数字序列,这样,当得知一个处理器读数据计数器值时,就可以得知前后指定位数的计数器值。
所述处理器读数据计数器的计数序列的形式有很多种,可以根据需要选择。只要满足所述处理器读数据计数器的计数序列与所述存储器读数据计数器的计数序列相同的条件就可以。
由于所述处理器读数据计数器值的初始值与所述存储器读数据计数器值的初始值相同,所述处理器读数据计数器的计数序列与所述存储器读数据计数器的计数序列相同,当所述处理器读数据计数器值与所述存储器读数据计数器值进行相同操作,例如将当前的计数器值的下一个值作为新的计数器值时,所述处理器读数据计数器值与所述存储器读数据计数器值能够一直保持相等。
可以理解的是,所述处理器读数据计数器值的初始值与所述存储器读数据计数器值的初始值相同可以通过所述处理器和存储器中的一者向另一者发送当前的读数据计数器值,另一者将所收到的读数据计数器值赋值给自身的读数据计数器值的方法实现。所述处理器读数据计数器值的初始值与所述存储器读数据计数器值的初始值相同可以在所述存储器和所述处理器共同协商得出所述共享密钥时实现,也可以在得到所述共享密钥之前,所述存储器和所述处理器事先通过数字签名相互验证身份时实现。
步骤S43:判断所述存储器读数据认证码是否等于所述处理器读数据认证码;若是,执行步骤S44;若否,也可以执行步骤S45。
步骤S43的部分内容请参考图4所示步骤S33的内容,在此不再赘述。
得到处理器读数据认证码后,判断所述存储器读数据认证码是否等于所述处理器读数据认证码的判断,如果相等,则说明所述存储器与所述处理器的共享密钥一致,所述存储器所发送的待读取数据的写入完整性信息与所述处理器利用所述待读取数据所生成的所述读取完整性信息一致,所述处理器读数据计数器值与所述存储器读数据计数器值相同;当所述处理器不发生其他错误时,所述存储器所发送的待读取数据与所述处理器接收并存储的待读取数据一致,这样就保证了所述待读取数据的完整性。当所述存储器或所述存储器和处理器之外的第三端,向所述处理器发送之前已经发送过的待读取数据和所述待读取数据的存储器读数据认证码时,由于此时所述待读取数据的存储器读数据认证码所基于的所述存储器读数据计数器值与当前的所述处理器读数据计数器值并不相同,所述处理器能够识别出来,不再进行对所述待读取数据进行操作,从而避免了被攻击者利用,提高所述数据读取方法的安全性。
步骤S44:确认所述待读取数据的完整性。
步骤S44的部分内容请参考图4所示步骤S34的内容,在此不再赘述。
步骤S45:返回报告信息。
步骤S45的部分内容请参考图4所示步骤S35的内容,在此不再赘述。
进一步的,当所述待读取数据利用所述数据读取方法,在写入时存储了所述存储器写数据计数器值时,可以利用所述存储器写数据计数器值对所述待读取数据的完整性进行进一步保护。
所以,在一种具体实施方式中,请参考图6,图6为本发明实施例所提供的又一数据读取方法的流程示意图。
如图6所示,本发明实施例所提供的数据读取方法包括:
步骤S51:接收所述待读取数据、利用所述数据写入方法写入所述待读取数据时存储的所述存储器写数据计数器值和所述存储器读数据认证码。
步骤S51的部分内容请参考图4所示步骤S31的内容,在此不再赘述。
在本实施例中,所述存储器读数据认证码为所述存储器基于存储器的所述共享密钥、所述待读取数据存储时的写入完整性信息、所述待读取数据存储时的存储器写数据计数器值以及当前的存储器读数据计数器值生成的认证码。具体的,所述存储器读数据认证码可以基于所述存储器的所述共享密钥、当前的存储器读数据计数器值,以及所述待读取数据写入时存储的处理器写数据认证码和所述存储器写数据认证码二者中的一者生成。而所述待读取数据写入时存储的处理器写数据认证码或所述存储器写数据认证码均基于所述共享密钥、所述待读取数据写入时接收的写入完整性信息和所述待读取数据存储时的存储器写数据计数器值生成。
所述存储器写数据计数器值的接收与所述待读取数据、所述待读取数据的存储器读数据认证码的接收之间可以是串行接收,也可以是并行接收。所以,在一种具体实施方式中,所述存储器写数据计数器值的接收与所述待读取数据、所述待读取数据的存储器读数据认证码的接收为并行接收。
由于所述存储器写数据计数器值的接收与所述待读取数据、所述待读取数据的存储器读数据认证码的接收为并行接收,可以同时存储所述存储器写数据计数器值与所述待读取数据、所述待读取数据的存储器读数据认证码,从而提高存储效率,减少存储所需时间。
所述待读取数据存储时的存储器写数据计数器值的发送位置可以根据需要设置。具体地,请继续参考图2,在一种具体实施方式中,所述存储器写数据计数器值由所述存储器的计数存储单元发送。
通过由所述存储器的计数存储单元发送所述存储器写数据计数器值,可以与所述普通存储单元进行隔离,可以增强所述数据写入方法的安全性。
步骤S52:存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,基于所述共享密钥、所述读取完整性信息、当前的所述处理器读数据计数器值和所述存储器写数据计数器值生成所述处理器读数据认证码;当生成所述处理器读数据认证码后,所述处理器读数据计数器值根据所述处理器读数据计数器的计数序列,将当前的所述处理器读数据计数器值的下一个值作为所述处理器读数据计数器值。
步骤S52的部分内容请参考图4所示步骤S32的内容,在此不再赘述。
所述处理器读数据认证码为所述处理器至少基于处理器的所述共享密钥、利用所述待读取数据所生成的读取完整性信息和当前的处理器读数据计数器值生成的认证码。具体的,所述处理器可以至少基于所述处理器的所述共享密钥、利用所述待读取数据生成所述待读取数据的读取完整性信息和所接收的所述待读取数据存储时的存储器写数据计数器值生成一个与所述待读取数据写入时的所述处理器写数据认证码相同的认证码。然后至少基于该与所述待读取数据写入时的所述处理器写数据认证码相同的认证码与所述共享密钥、当前的处理器读数据计数器值生成所述处理器读数据认证码。
步骤S53:判断所述存储器读数据认证码是否等于所述处理器读数据认证码;若是,执行步骤S54。若否,也可以执行步骤S55。
步骤S53的部分内容请参考图4所示步骤S33的内容,在此不再赘述。
当所述存储器读数据认证码和所述处理器读数据认证码时,所述存储器与所述处理器的共享密钥一致,所述存储器所发送的待读取数据的写入完整性信息与所述处理器利用所述待读取数据所生成的所述读取完整性信息一致,所述处理器读数据计数器值与所述存储器读数据计数器值相同,而且所述待读取数据即为所述处理器所接收的所述待读取数据存储时的存储器写数据计数器值对应的数据;当所述处理器不发生其他错误时,所述存储器所发送的待读取数据与所述处理器接收并存储的待读取数据一致,这样就提高了所述数据读取方法的安全性。
步骤S54:确认所述待读取数据的完整性。
步骤S54的部分内容请参考图4所示步骤S34的内容,在此不再赘述。
步骤S55:返回报告信息。
步骤S55的部分内容请参考图4所示步骤S35的内容,在此不再赘述。
当然,在所述待读取数据的获取中,也可以在各数据地址位并行传输的前提下保证地址的完整性。
所以,请参考图7,图7为本发明实施例所提供的待读取数据获取步骤的流程示意图;
如图中所示,本发明实施例所提供的数据写入方法中,所述待读取数据获取步骤包括:
步骤S61:存储器接收待读取数据的数据地址和所述数据地址的处理器读请求认证码。
其中,所述数据地址包括至少一个数据地址位,各所述数据地址位的接收为并行接收,所述处理器读请求认证码为至少基于共享密钥和所述数据地址生成的认证码。
各所述数据地址位的接收为并行接收的含义为:各个所述数据地址位的接收可以同时进行。
为方便说明,请继续参考图2。
如图2中所示,所述存储器2接收处理器1发送的所述数据地址时,为了提高接收效率,可以将所述数据地址拆分为多个数据地址位,利用存储器2的多个普通存储单元21接收各数据地址位。
各普通存储单元21接收所述数据地址位时,并不要求一个所述数据地址位的接收完成之后另一个所述数据地址位才能开始接收。当然,各普通存储单元21也可同时接收所述数据地址位。为了提高接收速度,可以设置数据地址位的数量与存储器的普通存储单元21的数量相同。
为保证数据完整性,除了接收数据地址,还要接收处理器读请求认证码,处理器读请求认证码为所述处理器至少基于处理器的所述共享密钥和所发送的数据地址生成的。
所述各数据地址位的接收与所述数据地址的处理器读请求认证码的接收之间可以是串行接收,也可以是并行接收。在一种具体实施方式中,为了提高接收速度,所述各数据地址位的接收与所述数据地址的处理器读请求认证码的接收为并行接收。
由于所述各数据地址位的接收与所述数据地址的处理器读请求认证码的接收为并行接收,可以同时接收所述各数据地址位与所述数据地址的处理器读请求认证码,从而提高接收效率,减少接收所需时间。
所述各数据地址位和所述数据地址的处理器读请求认证码的接收位置也可以根据需要设置。
请继续参考图2,在一种具体实施方式中,利用所述存储器的普通存储单元21接收各所述数据地址位,各所述数据地址对应的所述普通存储单元21不同。在另一种具体实施方式中,还可以利用所述存储器的加密存储单元22接收所述数据地址和所述数据地址的处理器读请求认证码。
由于是各所述普通存储单元接收各所述待读取数据包,所述存储器的加密存储单元22接收所述数据地址和所述数据地址的处理器读请求认证码,所述存储器可以同时接收所述待读取数据,从而提高存储效率,减少存储所需时间,并且各个存储单元相互隔离,可以增强所述数据读取方法的安全性。。
步骤S62:至少基于所述共享密钥和所述数据地址生成存储器读请求认证码。
所述存储器读请求认证码为所述存储器至少基于所述共享密钥和所述数据地址生成存储器读请求认证码生成的。所述存储器读请求认证码和所述处理器读请求认证码利用相同的派生密钥算法生成。
由于可以利用所述存储器的加密存储单元22接收所述数据地址和所述数据地址的处理器读请求认证码,所以为了比对的方便,所述存储器读请求认证码的生成也可以由所述存储器的加密存储单元的进行。
步骤S63:判断所述处理器读请求认证码是否等于所述存储器读请求认证码;若是,执行步骤S64。
当所述处理器读请求认证码和所述存储器读请求认证码时,所述处理器与所述存储器的共享密钥一致,所述处理器所发送的所述数据地址与所述存储器接收的所述数据地址一致,这样就保证了所述数据地址的完整性。
步骤S64:根据所述数据地址获取所述待读取数据。
在通常的情况下,所述处理器读请求认证码不等于所述存储器读请求认证码是一种异常的表现,此时所述存储器可以向所述处理器返回相关的信息,从而利用其他方法进行处理,也可以不向所述处理器返回相关的信息。
所以,在一种具体实施方式中,当所述处理器读请求认证码不等于所述存储器读请求认证码时,执行步骤S65:返回报告信息。
可以理解的是,所述报告信息可以包括所述处理器读请求认证码不等于所述存储器读请求认证码的信息,也可以包括其他信息。所述报告信息可以由所述存储器向所述处理器返回,也可以由所述存储器向其他设备返回。
这样,当所述处理器读请求认证码不等于所述存储器读请求认证码时,所述存储器可以向所述处理器或其他设备返回相关的报告信息,从而便于处理器或其他设备进行下一步操作。
当然,所述数据读取请求的验证方法虽然能够保证所述数据地址的完整性,但是当所述处理器或所述处理器和存储器之外的第三端,向所述存储器发送之前已经发送过的数据地址和所述数据地址的处理器读请求认证码时,所述存储器并不能识别,只能进行再次根据所述数据地址进行数据的读取,这样就可能会被攻击者利用,达到读取所述存储器所存储的内容的目的。
所以,为了提高所述数据读取方法的安全性,在另一种具体实施方式中,本发明实施例还提供了一种待读取数据获取步骤,请参考图8,图8为本发明实施例所提供的又一待读取数据获取步骤的流程示意图。
如图8所示,本发明实施例所提供了的待读取数据获取步骤包括:
步骤S71:存储器接收待读取数据的数据地址和所述数据地址的处理器读请求认证码。
步骤S71的部分内容请参考图7所示步骤S61的内容,在此不再赘述。
在本实施例中,所述处理器读请求认证码为所述处理器基于处理器的所述共享密钥和所发送的所述数据地址和所述待读取数据写入时存储当前的处理器读请求计数器值生成的认证码。
可以理解的是,所述处理器读请求计数器值为基于处理器读请求计数器值的初始值和处理器读请求计数器的计数序列得到的计数器值,其中所述处理器读请求计数器的计数序列为每一位之间数字各不相同的数字序列,这样,当得知一个处理器读请求计数器值时,就可以得知前后指定位数的计数器值。
所述处理器读请求计数器的计数序列的形式有很多种,可以根据需要选择。为了方便,在一种具体实施方式中,所述处理器读请求计数器的计数序列的计数序列为0为首项,1为公差的等差数列。
步骤S72:基于所述共享密钥、所述写入完整性信息和当前的存储器读请求计数器值生成所述存储器写数据认证码,根据所述当前的存储器读请求计数器值和存储器读请求计数器的计数序列获取新的存储器读请求计数器值,并存储为存储器读请求计数器值。
步骤S72的部分内容请参考图7所示步骤S62的内容,在此不再赘述。
其中,所述存储器读请求计数器值为基于存储器读请求计数器值的初始值和所述存储器读请求计数器的计数序列得到的计数器值,所述存储器读请求计数器值的初始值与所述处理器读请求计数器值的初始值相同,所述存储器读请求计数器的计数序列与所述处理器读请求计数器的计数序列相同。
这样,所述存储器写数据认证码为所述存储器基于存储器的所述共享密钥、接收的所述写入完整性信息和当前的存储器写数据计数器值生成的认证码。
所述存储器读请求计数器值为基于存储器读请求计数器值的初始值和存储器读请求计数器的计数序列得到的计数器值,其中所述存储器读请求计数器的计数序列为每一位之间数字各不相同的数字序列,这样,当得知一个存储器读请求计数器值时,就可以得知前后指定位数的计数器值。
所述存储器读请求计数器的计数序列的形式有很多种,可以根据需要选择。只要满足所述存储器读请求计数器的计数序列与所述处理器读请求计数器的计数序列相同的条件就可以。
由于所述存储器读请求计数器值的初始值与所述处理器读请求计数器值的初始值相同,所述存储器读请求计数器的计数序列与所述处理器读请求计数器的计数序列相同,当所述存储器读请求计数器值与所述处理器读请求计数器值进行相同操作,例如将当前的计数器值的下一个值作为新的计数器值时,所述存储器读请求计数器值与所述处理器读请求计数器值能够一直保持相等。
可以理解的是,所述存储器读请求计数器值的初始值与所述处理器读请求计数器值的初始值相同可以通过所述存储器和处理器中的一者向另一者发送当前的读请求计数器值,另一者将所收到的读请求计数器值赋值给自身的读请求计数器值的方法实现。所述存储器读请求计数器值的初始值与所述处理器读请求计数器值的初始值相同可以在所述处理器和所述存储器共同协商得出所述共享密钥时实现,也可以在得到所述共享密钥之前,所述处理器和所述存储器事先通过数字签名相互验证身份时实现。
所述存储器读请求计数器值的存储位置可以根据需要设置。所以,在一种具体实施方式中,利用所述存储器的计数存储单元存储当前的所述存储器读请求计数器值。通过利用所述存储器的计数存储单元存储当前的所述存储器读请求计数器值,与所述其他的存储单元进行隔离,可以增强所述数据读取请求的验证方法的安全性。
步骤S73:判断所述处理器写数据认证码是否等于所述存储器写数据认证码;若是,执行步骤S74。若否,也可以执行步骤S75。
步骤S73的部分内容请参考图7所示步骤S63的内容,在此不再赘述。
当所述处理器读请求认证码等于所述存储器读请求认证码时,所述处理器与所述存储器的共享密钥一致,所述处理器所发送的数据地址与所述存储器接收的数据地址一致,所述存储器读请求计数器值与所述处理器读请求计数器值相同;当所述存储器不发生其他错误时,所述处理器所发送的数据地址与所述存储器接收的数据地址一致,这样就保证了所述数据地址的完整性。当所述处理器或所述处理器和存储器之外的第三端,向所述存储器发送之前已经发送过的数据地址和所述数据地址的处理器读请求认证码时,由于此时所述数据地址的处理器读请求认证码所基于的所述处理器读请求计数器值与当前的所述存储器读请求计数器值并不相同,所述存储器能够识别出来,不再进行根据所述数据地址进行数据的读取,从而避免了被攻击者利用,可以防止其读取所述存储器所存储的内容,从而提高了安全性。
步骤S74:根据所述数据地址获取所述待读取数据。步骤S74的部分内容请参考图7所示步骤S64的内容,在此不再赘述。
步骤S75:返回报告信息。步骤S75的部分内容请参考图7所示步骤S65的内容,在此不再赘述。
下面对本发明实施例提供的数据写入装置和数据读取装置及相关设备进行介绍,所述数据写入装置和数据读取装置可以认为是为了实现本发明实施例所提供的数据写入方法和数据读取方法而设置的程序模块。下文描述的所述数据写入装置和数据读取装置可与前文描述的方法内容相互对应参照。
请参考图9,图9为本发明实施例所提供的数据写入装置的结构示意图,本发明实施例所提供的数据写入装置3,包括:
存储器接收模块31,所述存储器接收模块31适于接收待写入数据、所述待写入数据的写入完整性信息和所述待写入数据的处理器写数据认证码,所述待写入数据包括至少一个待写入数据包,各所述待写入数据包的接收为并行接收,所述处理器写数据认证码为至少基于共享密钥和所述写入完整性信息生成的认证码;
存储器存储模块32,所述存储器存储模块32适于存储所述待写入数据,至少基于所述共享密钥和所述写入完整性信息生成存储器写数据认证码,各所述待写入数据包的存储为并行存储;
存储器判断模块33,所述存储器判断模块33适于判断所述处理器写数据认证码是否等于所述存储器写数据认证码;
存储器确认模块34,所述存储器确认模块34适于当所述处理器写数据认证码等于所述存储器写数据认证码时,至少存储所述处理器写数据认证码或所述存储器写数据认证码。
可以理解的是,所述处理器可以设置相应的模块配合所述存储器实现所述数据写入方法。
可见,本发明实施例所提供的数据写入装置,所述待写入数据包括至少一个待写入数据包,存储器接收模块可以并行接收各所述待写入数据包,并接收在处理器计算的待写入数据的写入完整性信息,和所述待写入数据的处理器写数据认证码,存储器存储模块可以并行接收和存储各所述待写入数据包,然后至少基于所述共享密钥和所述写入完整性信息生成存储器写数据认证码,通过比较所述处理器写数据认证码与所述存储器写数据认证码,来验证所述待写入数据的完整性,这样,一方面可以利用并行接收和存储各所述待写入数据包的方法,提高处理器芯片与内存之间数据的接收和存储效率;同时,可以利用处理器写数据认证码与所述存储器写数据认证码的比较保证数据完整性;进一步地,还利用接收的在处理器计算的待写入数据的写入完整性信息,生成存储器写数据认证码,进而进行处理器写数据认证码与存储器写数据认证码的比较,无需再次利用待写入数据在存储器计算写入完整性信息,降低写入完整性信息的计算所造成的运算瓶颈的影响,从而在保证数据完整性的前提下提高数据存储效率。
在另一种具体实施方式中,本发明实施例所提供的数据写入装置,所述处理器写数据认证码为基于所述共享密钥、所述写入完整性信息和当前的处理器写数据计数器值生成的认证码,所述处理器写数据计数器值为基于处理器写数据计数器值的初始值和处理器写数据计数器的计数序列得到的计数器值,且每当生成所述处理器写数据认证码后,根据当前的处理器写数据计数器值和所述处理器写数据计数器的计数序列获取新的处理器写数据计数器值,并存储为处理器写数据计数器值;
所述存储器存储模块32,适于基于所述共享密钥、所述写入完整性信息和当前的存储器写数据计数器值生成所述存储器写数据认证码,根据所述当前的存储器写数据计数器值和存储器写数据计数器的计数序列获取新的存储器写数据计数器值,并存储为存储器写数据计数器值,所述存储器写数据计数器值为基于存储器写数据计数器值的初始值和所述存储器写数据计数器的计数序列得到的计数器值,所述存储器写数据计数器值的初始值与所述处理器写数据计数器值的初始值相同,所述存储器写数据计数器的计数序列与所述处理器写数据计数器的计数序列相同;
所述存储器确认模块34,适于存储当前的所述处理器写数据认证码和所述当前的存储器写数据认证码二者中的一者和所述当前的存储器写数据计数器值。
请继续参考图2,本发明实施例还提供了一种存储器,包括:
普通存储单元21,所述普通存储单元的数量大于或等于2,适于接收和存储待写入数据,所述待写入数据包括至少一个待写入数据包,各所述普通存储单元适于并行接收各所述待写入数据包和并行存储各所述待写入数据包;
加密存储单元22,适于接收所述待写入数据的写入完整性信息和所述待写入数据的处理器写数据认证码,并至少基于所述共享密钥和所述写入完整性信息生成存储器写数据认证码,以及判断所述处理器写数据认证码是否等于所述存储器写数据认证码,其中,所述处理器写数据认证码为至少基于共享密钥和所述写入完整性信息生成的认证码;
计数存储单元23,适于当所述处理器写数据认证码等于所述存储器写数据认证码时,至少存储所述处理器写数据认证码或所述存储器写数据认证码。
采用本发明上述实施例的存储器,待写入数据包括至少一个待写入数据包,存储器的普通存储单元可以并行接收和存储各所述待写入数据包,加密存储单元可以接收在处理器计算的所述待写入数据的写入完整性信息,和所述待写入数据的处理器写数据认证码,然后至少基于所述共享密钥和所述写入完整性信息生成存储器写数据认证码,通过比较所述处理器写数据认证码与所述存储器写数据认证码,来验证所述待写入数据的完整性,这样,一方面可以利用并行接收和存储各所述待写入数据包的方法,提高处理器芯片与存储器之间数据的接收和存储效率;同时,可以利用处理器写数据认证码与所述存储器写数据认证码的比较保证数据完整性;进一步地,还利用接收的在处理器计算的待写入数据的写入完整性信息,生成存储器写数据认证码,进而进行处理器写数据认证码与存储器写数据认证码的比较,无需再次利用待写入数据在存储器计算写入完整性信息,降低写入完整性信息的计算所造成的运算瓶颈的影响,从而在保证数据完整性的前提下提高数据存储效率。
可选的,所述处理器写数据认证码为基于所述共享密钥、所述写入完整性信息和当前的处理器写数据计数器值生成的认证码,所述处理器写数据计数器值为基于处理器写数据计数器值的初始值和处理器写数据计数器的计数序列得到的计数器值,且每当生成所述处理器写数据认证码后,根据当前的处理器写数据计数器值和所述处理器写数据计数器的计数序列获取新的处理器写数据计数器值,并存储为处理器写数据计数器值;
所述加密存储单元,适于接收所述待写入数据的写入完整性信息和所述待写入数据的处理器写数据认证码,并至少基于所述共享密钥和所述写入完整性信息生成存储器写数据认证码,以及判断所述处理器写数据认证码是否等于所述存储器写数据认证码,包括:基于所述共享密钥、所述写入完整性信息和当前的存储器写数据计数器值生成所述存储器写数据认证码,根据所述当前的存储器写数据计数器值和存储器写数据计数器的计数序列获取新的存储器写数据计数器值,并存储为存储器写数据计数器值,所述存储器写数据计数器值为基于存储器写数据计数器值的初始值和所述存储器写数据计数器的计数序列得到的计数器值,所述存储器写数据计数器值的初始值与所述处理器写数据计数器值的初始值相同,所述存储器写数据计数器的计数序列与所述处理器写数据计数器的计数序列相同;
所述计数存储单元适于至少存储所述处理器写数据认证码或所述存储器写数据认证码包括:存储当前的所述处理器写数据认证码和所述当前的存储器写数据认证码二者中的一者和所述当前的存储器写数据计数器值。
本发明实施例还提供了一种存储器,所述存储器存储有适于数据写入的程序,以实现所述数据写入方法,具体数据写入方法及其原理、效果均可以参见前述实施例介绍,此处不再赘述。
本发明实施例还提供了一种存储器芯片,可以包括前述任一实施例所述数据写入装置或所述存储器,具体可以参见前述实施例方案,此处不再赘述。
本发明实施例还提供了一种电子设备,可以包括前述实施例所述存储器芯片,具体可以参见前述实施例方案,此处不再赘述。
请参考图9,图9为本发明实施例所提供的数据读取装置的结构示意图,本发明实施例所提供的数据读取装置4,包括:
处理器接收模块41,所述处理器接收模块适于至少接收待读取数据和所述待读取数据的存储器读数据认证码;其中,所述待读取数据包括至少一个待读取数据包,各所述待读取数据包的接收为并行接收,所述存储器读数据认证码为至少基于共享密钥和所述待读取数据的写入完整性信息生成的认证码;
处理器存储模块42,所述处理器存储模块适于存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,各所述待写入数据包的存储为并行存储;
处理器判断模块43,所述处理器判断模块适于判断所述存储器读数据认证码是否等于所述处理器读数据认证码;
处理器确认模块44,所述处理器确认模块适于当所述存储器读数据认证码等于所述处理器读数据认证码时,确认所述待读取数据的完整性。
可以理解的是,所述存储器可以设置相应的模块配合所述处理器实现所述数据写入方法。
这样,本发明实施例所提供的数据读取装置中,所述待读取数据包括至少一个待读取数据包,处理器接收模块可以并行接收各所述待读取数据包,并接收和所述待读取数据的处理器读数据认证码,处理器存储模块可以并行接收和存储各所述待读取数据包,然后利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,通过比较所述处理器读数据认证码与所述存储器读数据认证码,来验证所述待读取数据的完整性,这样,一方面可以利用并行接收和存储各所述待读取数据包的方法,提高处理器芯片与内存之间数据的接收和存储效率;同时,可以利用处理器读数据认证码与所述存储器读数据认证码的比较保证数据完整性;进一步地,存储器还利用写入过程存储的写入完整性信息生成存储器读数据认证码,进而进行处理器读数据认证码与存储器读数据认证码的比较,无需利用待读取数据在存储器计算完整性信息,降低完整性信息的计算所造成的运算瓶颈的影响,实现在保证数据完整性的前提下提高数据存储效率。
可选的,所述存储器读数据认证码为至少基于所述共享密钥、所述写入完整性信息和存储器读数据计数器值生成的认证码,所述存储器读数据计数器值为基于存储器读数据计数器值的初始值和存储器读数据计数器的计数序列得到的计数器值,且当生成所述存储器读数据认证码后,所述存储器读数据计数器值根据所述存储器读数据计数器的计数序列,将所述存储器读数据计数器值的下一个值作为所述存储器读数据计数器值;
所述处理器存储模块42,适于至少基于所述共享密钥、所述读取完整性信息和当前的处理器读数据计数器值生成所述处理器读数据认证码;当生成所述处理器读数据认证码后,所述处理器读数据计数器值根据所述处理器读数据计数器的计数序列,将当前的所述处理器读数据计数器值的下一个值作为所述处理器读数据计数器值,其中,所述存储器读数据计数器值的初始数值与所述处理器读数据计数器值的初始值相同,所述存储器读数据计数器的计数序列与所述处理器读数据计数器的计数序列相同。
可选的,所述处理器接收模块41适于接收所述待读取数据、写入所述待读取数据时存储的所述存储器写数据计数器值和所述存储器读数据认证码,所述存储器读数据认证码为基于所述共享密钥、所述处理器写数据认证码和所述存储器写数据认证码二者中的一者和当前的所述存储器读数据计数器值生成的认证码;
所述处理器存储模块44,适于基于所述共享密钥、所述读取完整性信息、当前的所述处理器读数据计数器值和所述存储器写数据计数器值生成所述处理器读数据认证码。
请参考图11,图11为本发明实施例所提供的片上***的结构示意图,本发明实施例还提供了一种片上***5,包括:
普通处理器51,所述普通处理器包括至少一个处理器核心,适于发送读数据请求以读取数据,包括读取至少一个待读取数据包,各处理器核心适于并行接收各所述待读取数据包;
加密处理器52,适于至少接收所述待读取数据的存储器读数据认证码;其中所述存储器读数据认证码为至少基于共享密钥和所述待读取数据的写入完整性信息生成的认证码;存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,各所述待写入数据包的存储为并行存储;当所述存储器读数据认证码等于所述处理器读数据认证码时,确认所述待读取数据的完整性。
这样,本发明实施例所提供的片上***5中,所述待读取数据包括至少一个待读取数据包,所述普通处理器51可以并行接收并存储各所述待读取数据包,所述加密处理器52可以接收和所述待读取数据的处理器读数据认证码,然后利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,通过比较所述处理器读数据认证码与所述存储器读数据认证码,来验证所述待读取数据的完整性,这样,一方面可以利用并行接收和存储各所述待读取数据包的方法,提高片上***与内存之间数据的接收和存储效率;同时,可以利用处理器读数据认证码与所述存储器读数据认证码的比较保证数据完整性;进一步地,加密处理器52还利用写入过程存储的写入完整性信息生成存储器读数据认证码,进而进行处理器读数据认证码与存储器读数据认证码的比较,无需利用待读取数据在存储器计算完整性信息,降低完整性信息的计算所造成的运算瓶颈的影响,实现在保证数据完整性的前提下提高数据存储效率。
可选的,所述存储器读数据认证码为至少基于所述共享密钥、所述写入完整性信息和存储器读数据计数器值生成的认证码,所述存储器读数据计数器值为基于存储器读数据计数器值的初始值和存储器读数据计数器的计数序列得到的计数器值,且当生成所述存储器读数据认证码后,所述存储器读数据计数器值根据所述存储器读数据计数器的计数序列,将所述存储器读数据计数器值的下一个值作为所述存储器读数据计数器值;
所述加密处理器52,适于至少基于所述共享密钥、所述读取完整性信息和当前的处理器读数据计数器值生成所述处理器读数据认证码;当生成所述处理器读数据认证码后,所述处理器读数据计数器值根据所述处理器读数据计数器的计数序列,将当前的所述处理器读数据计数器值的下一个值作为所述处理器读数据计数器值,其中,所述存储器读数据计数器值的初始数值与所述处理器读数据计数器值的初始值相同,所述存储器读数据计数器的计数序列与所述处理器读数据计数器的计数序列相同。
可选的,所述加密处理器52,还适于接收所述待读取数据写入时存储的所述存储器写数据计数器值和所述存储器读数据认证码,所述存储器读数据认证码为基于所述共享密钥、所述处理器写数据认证码和所述存储器写数据认证码二者中的一者和当前的所述存储器读数据计数器值生成的认证码;基于所述共享密钥、所述读取完整性信息、当前的所述处理器读数据计数器值和所述存储器写数据计数器值生成所述处理器读数据认证码。
本发明实施例还提供了一种处理器,其特征在于,所述处理器配置为执行所述数据读取方法。具体可以参见前述实施例方案,此处不再赘述。
本发明实施例还提供了一种电子设备,其特征在于,包括所述数据读取装置,或所述片上***,或所述处理器。具体可以参见前述实施例方案,此处不再赘述。
虽然本发明实施例披露如上,但本发明实施例并非限定于此。任何本领域技术人员,在不脱离本发明实施例的精神和范围内,均可作各种更动与修改,因此本发明实施例的保护范围应当以权利要求所限定的范围为准。

Claims (23)

1.一种数据读取方法,其特征在于,包括:
至少接收待读取数据和所述待读取数据的存储器读数据认证码;其中,所述待读取数据包括至少一个待读取数据包,各所述待读取数据包的接收为并行接收,所述待读取数据包的接收同时进行,所述存储器读数据认证码为至少基于共享密钥和所述待读取数据的写入完整性信息生成的认证码,所述写入完整性信息在写入过程中存储于存储器;
所述待读取数据的获取步骤包括:
存储器接收待读取数据的数据地址和所述数据地址的处理器读请求认证码,其中,所述数据地址包括至少一个数据地址位,各所述数据地址位的接收为并行接收,所述待读取数据包的接收同时进行,所述处理器读请求认证码为至少基于共享密钥和所述数据地址生成的认证码;
至少基于所述共享密钥和所述数据地址生成存储器读请求认证码;
判断所述处理器读请求认证码是否等于所述存储器读请求认证码;
当所述处理器读请求认证码等于所述存储器读请求认证码时,根据所述数据地址获取所述待读取数据;
存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,各所述待读取数据包的存储为并行存储;
判断所述存储器读数据认证码是否等于所述处理器读数据认证码;
当所述存储器读数据认证码等于所述处理器读数据认证码时,确认所述待读取数据的完整性。
2.如权利要求1所述的数据读取方法,其特征在于,所述存储器读数据认证码为至少基于所述共享密钥、所述写入完整性信息和存储器读数据计数器值生成的认证码,所述存储器读数据计数器值为基于存储器读数据计数器值的初始值和存储器读数据计数器的计数序列得到的计数器值,且当生成所述存储器读数据认证码后,所述存储器读数据计数器值根据所述存储器读数据计数器的计数序列,将所述存储器读数据计数器值的下一个值作为所述存储器读数据计数器值;
所述至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码的步骤包括:
至少基于所述共享密钥、所述读取完整性信息和当前的处理器读数据计数器值生成所述处理器读数据认证码;当生成所述处理器读数据认证码后,所述处理器读数据计数器值根据所述处理器读数据计数器的计数序列,将当前的所述处理器读数据计数器值的下一个值作为所述处理器读数据计数器值,其中,所述存储器读数据计数器值的初始数值与所述处理器读数据计数器值的初始值相同,所述存储器读数据计数器的计数序列与所述处理器读数据计数器的计数序列相同,所述处理器读数据计数器值为基于处理器读数据计数器值的初始值和处理器读数据计数器的计数序列得到的计数器值,其中所述处理器读数据计数器的计数序列为每一位之间数字各不相同的数字序列。
3.如权利要求1所述的数据读取方法,其特征在于,所述至少接收待读取数据和所述待读取数据的存储器读数据认证码的步骤包括:
接收所述待读取数据、写入所述待读取数据时存储的所述存储器写数据计数器值和所述存储器读数据认证码,所述存储器读数据认证码为基于所述共享密钥、所述处理器写数据认证码和所述存储器写数据认证码二者中的一者和当前的所述存储器读数据计数器值生成的认证码,其中,所述处理器写数据认证码为至少基于共享密钥和所述写入完整性信息生成的认证码,所述存储器写数据认证码为至少基于所述共享密钥和所述写入完整性信息生成的认证码;
所述至少基于所述共享密钥、所述读取完整性信息和当前的处理器读数据计数器值生成所述处理器读数据认证码的步骤包括:
基于所述共享密钥、所述读取完整性信息、当前的所述处理器读数据计数器值和所述存储器写数据计数器值生成所述处理器读数据认证码,其中,所述处理器读数据计数器值为基于处理器读数据计数器值的初始值和处理器读数据计数器的计数序列得到的计数器值,其中所述处理器读数据计数器的计数序列为每一位之间数字各不相同的数字序列。
4.如权利要求1所述的数据读取方法,其特征在于,还包括:当所述存储器读数据认证码不等于所述处理器读数据认证码时,返回报告信息。
5.如权利要求1所述的数据读取方法,其特征在于,所述待读取数据的接收与所述待读取数据的存储器读数据认证码的接收为并行接收。
6.如权利要求1所述的数据读取方法,其特征在于,各待读取数据包由所述存储器的普通存储单元发送,且发送各所述待读取数据包的所述普通存储单元不同。
7.如权利要求1所述的数据读取方法,其特征在于,所述待读取数据的存储器读数据认证码由所述存储器的加密存储单元发送。
8.如权利要求3所述的数据读取方法,其特征在于,所述存储器写数据计数器值的接收与所述待读取数据、所述待读取数据的存储器读数据认证码的接收为并行接收。
9.如权利要求3所述的数据读取方法,其特征在于,所述存储器写数据计数器值由所述存储器的计数存储单元发送。
10.如权利要求1所述的数据读取方法,其特征在于,所述处理器读请求认证码为基于所述共享密钥、所述待读取数据的数据地址和处理器读请求计数器值生成的认证码;所述处理器读请求计数器值为基于处理器读请求计数器值的初始值和处理器读请求计数器的计数序列得到的计数器值,且当生成所述处理器读请求认证码后,所述处理器读请求计数器值根据所述处理器读请求计数器的计数序列,将当前的所述处理器读请求计数器值的下一个值作为所述处理器读请求计数器值;
所述至少基于所述共享密钥和所述数据地址生成存储器读请求认证码的步骤包括:
基于所述共享密钥、所述数据地址和当前的存储器读请求计数器值生成所述存储器读请求认证码;当生成所述存储器读请求认证码后,所述存储器读请求计数器值根据所述存储器读请求计数器的计数序列,将当前的所述存储器读请求计数器值的下一个值作为所述存储器读请求计数器值;其中,所述存储器读请求计数器值为基于存储器读请求计数器值的初始值和存储器读请求计数器的计数序列得到的计数器值,所述存储器读请求计数器值的初始值与所述处理器读请求计数器值的初始值相同,所述存储器读请求计数器的计数序列与所述处理器读请求计数器的计数序列相同。
11.如权利要求1所述的数据读取方法,其特征在于,还包括:
当所述处理器读请求认证码不等于所述存储器读请求认证码时,向所述处理器返回报告信息。
12.如权利要求1所述的数据读取方法,其特征在于,所述各数据地址位的接收与所述数据地址的处理器读请求认证码的接收为并行接收。
13.如权利要求1所述的数据读取方法,其特征在于,利用所述存储器的普通存储单元接收各所述数据地址位;各所述数据地址对应的所述普通存储单元不同。
14.如权利要求1所述的数据读取方法,其特征在于,利用所述存储器的加密存储单元接收所述数据地址和所述数据地址的处理器读请求认证码。
15.如权利要求10所述的数据读取方法,其特征在于,利用所述存储器的计数存储单元存储当前的所述存储器读请求计数器值。
16.一种数据读取装置,其特征在于,包括:
处理器接收模块,所述处理器接收模块适于至少接收待读取数据和所述待读取数据的存储器读数据认证码;其中,所述待读取数据包括至少一个待读取数据包,各所述待读取数据包的接收为并行接收,所述待读取数据包的接收同时进行,所述存储器读数据认证码为至少基于共享密钥和所述待读取数据的写入完整性信息生成的认证码,所述写入完整性信息在写入过程中存储于存储器;
所述待读取数据的获取步骤包括:
存储器接收待读取数据的数据地址和所述数据地址的处理器读请求认证码,其中,所述数据地址包括至少一个数据地址位,各所述数据地址位的接收为并行接收,所述待读取数据包的接收同时进行,所述处理器读请求认证码为至少基于共享密钥和所述数据地址生成的认证码;
至少基于所述共享密钥和所述数据地址生成存储器读请求认证码;
判断所述处理器读请求认证码是否等于所述存储器读请求认证码;
当所述处理器读请求认证码等于所述存储器读请求认证码时,根据所述数据地址获取所述待读取数据;
处理器存储模块,所述处理器存储模块适于存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,各所述待读取数据包的存储为并行存储;
处理器判断模块,所述处理器判断模块适于判断所述存储器读数据认证码是否等于所述处理器读数据认证码;
处理器确认模块,所述处理器确认模块适于当所述存储器读数据认证码等于所述处理器 读数据认证码时,确认所述待读取数据的完整性。
17.如权利要求16所述的数据读取装置,其特征在于,所述存储器读数据认证码为至少基于所述共享密钥、所述写入完整性信息和存储器读数据计数器值生成的认证码,所述存储器读数据计数器值为基于存储器读数据计数器值的初始值和存储器读数据计数器的计数序列得到的计数器值,且当生成所述存储器读数据认证码后,所述存储器读数据计数器值根据所述存储器读数据计数器的计数序列,将所述存储器读数据计数器值的下一个值作为所述存储器读数据计数器值;
所述处理器存储模块,适于至少基于所述共享密钥、所述读取完整性信息和当前的处理器读数据计数器值生成所述处理器读数据认证码;当生成所述处理器读数据认证码后,所述处理器读数据计数器值根据所述处理器 读数据计数器的计数序列,将当前的所述处理器读数据计数器值的下一个值作为所述处理器读数据计数器值,其中,所述存储器读数据计数器值的初始数值与所述处理器读数据计数器值的初始值相同,所述存储器读数据计数器的计数序列与所述处理器读数据计数器的计数序列相同,所述处理器读数据计数器值为基于处理器读数据计数器值的初始值和处理器读数据计数器的计数序列得到的计数器值,其中所述处理器读数据计数器的计数序列为每一位之间数字各不相同的数字序列。
18.如权利要求16所述的数据读取装置,其特征在于,所述处理器接收模块适于接收所述待读取数据、写入所述待读取数据时存储的所述存储器写数据计数器值和所述存储器读数据认证码,所述存储器读数据认证码为基于所述共享密钥、所述处理器写数据认证码和所述存储器写数据认证码二者中的一者和当前的所述存储器读数据计数器值生成的认证码,其中,所述处理器写数据认证码为至少基于共享密钥和所述写入完整性信息生成的认证码,所述存储器写数据认证码为至少基于所述共享密钥和所述写入完整性信息生成的认证码;
所述处理器存储模块,适于基于所述共享密钥、所述读取完整性信息、当前的处理器读数据计数器值和所述存储器写数据计数器值生成所述处理器读数据认证码,其中,所述处理器读数据计数器值为基于处理器读数据计数器值的初始值和处理器读数据计数器的计数序列得到的计数器值,其中所述处理器读数据计数器的计数序列为每一位之间数字各不相同的数字序列。
19.一种片上***,其特征在于,包括:
普通处理器,所述普通处理器包括至少一个处理器核心,适于发送读数据请求以读取数据,包括读取至少一个待读取数据包,各处理器核心适于并行接收各所述待读取数据包,所述待读取数据包的接收同时进行;
加密处理器,适于至少接收所述待读取数据的存储器读数据认证码;其中所述存储器读数据认证码为至少基于共享密钥和所述待读取数据的写入完整性信息生成的认证码,所述写入完整性信息在写入过程中存储于存储器;存储所述待读取数据,利用所述待读取数据生成所述待读取数据的读取完整性信息,至少基于所述共享密钥和所述读取完整性信息生成处理器读数据认证码,各所述待读取数据包的存储为并行存储;当所述存储器读数据认证码等于所述处理器读数据认证码时,确认所述待读取数据的完整性;
所述待读取数据的获取步骤包括:
存储器接收待读取数据的数据地址和所述数据地址的处理器读请求认证码,其中,所述数据地址包括至少一个数据地址位,各所述数据地址位的接收为并行接收,所述待读取数据包的接收同时进行,所述处理器读请求认证码为至少基于共享密钥和所述数据地址生成的认证码;
至少基于所述共享密钥和所述数据地址生成存储器读请求认证码;
判断所述处理器读请求认证码是否等于所述存储器读请求认证码;
当所述处理器读请求认证码等于所述存储器读请求认证码时,根据所述数据地址获取所述待读取数据。
20.如权利要求19所述的片上***,其特征在于,所述存储器读数据认证码为至少基于所述共享密钥、所述写入完整性信息和存储器读数据计数器值生成的认证码,所述存储器读数据计数器值为基于存储器读数据计数器值的初始值和存储器读数据计数器的计数序列得到的计数器值,且当生成所述存储器读数据认证码后,所述存储器读数据计数器值根据所述存储器读数据计数器的计数序列,将所述存储器读数据计数器值的下一个值作为所述存储器读数据计数器值;
所述加密处理器,适于至少基于所述共享密钥、所述读取完整性信息和当前的处理器读数据计数器值生成所述处理器读数据认证码;当生成所述处理器 读数据认证码后,所述处理器读数据计数器值根据所述处理器读数据计数器的计数序列,将当前的所述处理至读数据计数器值的下一个值作为所述处理读数据计数器值,其中,所述存储器读数据计数器值的初始数值与所述处理器读数据计数器值的初始值相同,所述存储器读数据计数器的计数序列与所述处理器读数据计数器的计数序列相同,所述处理器读数据计数器值为基于处理器读数据计数器值的初始值和处理器读数据计数器的计数序列得到的计数器值,其中所述处理器读数据计数器的计数序列为每一位之间数字各不相同的数字序列。
21.如权利要求19所述的片上***,其特征在于,所述加密处理器,还适于:接收所述待读取数据写入时存储的所述存储器写数据计数器值和所述存储器读数据认证码,所述存储器读数据认证码为基于所述共享密钥、所述处理器写数据认证码和所述存储器写数据认证码二者中的一者和当前的所述存储器读数据计数器值生成的认证码,其中,所述处理器写数据认证码为至少基于共享密钥和所述写入完整性信息生成的认证码,所述存储器写数据认证码为至少基于所述共享密钥和所述写入完整性信息生成的认证码;
基于所述共享密钥、所述读取完整性信息、当前的所述处理器读数据计数器值和所述存储器写数据计数器值生成所述处理器读数据认证码,其中,所述处理器读数据计数器值为基于处理器读数据计数器值的初始值和处理器读数据计数器的计数序列得到的计数器值,其中所述处理器读数据计数器的计数序列为每一位之间数字各不相同的数字序列。
22.一种处理器,其特征在于,所述处理器配置为执行如权利要求1-15任一项所述的数据读取方法。
23.一种电子设备,其特征在于,包括如权利要求16-18任一项所述的数据读取装置,或如权利要求19-21任一项所述的片上***,或如权利要求22所述的处理器。
CN202010144970.4A 2019-12-23 2020-03-04 数据读取方法及相关装置 Active CN111400717B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911335324X 2019-12-23
CN201911335324 2019-12-23

Publications (2)

Publication Number Publication Date
CN111400717A CN111400717A (zh) 2020-07-10
CN111400717B true CN111400717B (zh) 2022-03-22

Family

ID=71208598

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010144506.5A Pending CN111368346A (zh) 2019-12-23 2020-03-04 数据写入方法及相关装置
CN202010144970.4A Active CN111400717B (zh) 2019-12-23 2020-03-04 数据读取方法及相关装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010144506.5A Pending CN111368346A (zh) 2019-12-23 2020-03-04 数据写入方法及相关装置

Country Status (1)

Country Link
CN (2) CN111368346A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882189A (zh) * 2010-06-30 2010-11-10 华南理工大学 一种保证程序完整性的嵌入式***及其实现方法
CN106293978A (zh) * 2015-05-22 2017-01-04 炬芯(珠海)科技有限公司 一种数据反馈的方法及设备
CN108073353A (zh) * 2016-11-15 2018-05-25 华为技术有限公司 一种数据处理的方法及装置
CN109388975A (zh) * 2017-08-03 2019-02-26 Arm有限公司 针对安全性和可靠性的存储器组织
CN110289947A (zh) * 2019-04-29 2019-09-27 北京开态智慧科技有限公司 数据传输一致性校验方法、装置、计算机设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1707450A (zh) * 2004-06-08 2005-12-14 侯方勇 保护存储设备中数据机密性与完整性的方法和装置
US7562284B2 (en) * 2005-08-26 2009-07-14 International Business Machines Corporation Apparatus, system, and method for mandatory end to end integrity checking in a storage system
CN102841998B (zh) * 2012-07-11 2014-12-03 哈尔滨工程大学 内存附加校验器的内存数据完整性保护方法
US9690953B2 (en) * 2013-03-14 2017-06-27 Apple Inc. Generating efficient reads for a system having non-volatile memory
CN105069379B (zh) * 2015-07-29 2017-11-21 哈尔滨工程大学 一种基于写计数器的存储器完整性保护方法
CN109976673B (zh) * 2019-03-29 2023-04-25 新华三技术有限公司 一种数据写入方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882189A (zh) * 2010-06-30 2010-11-10 华南理工大学 一种保证程序完整性的嵌入式***及其实现方法
CN106293978A (zh) * 2015-05-22 2017-01-04 炬芯(珠海)科技有限公司 一种数据反馈的方法及设备
CN108073353A (zh) * 2016-11-15 2018-05-25 华为技术有限公司 一种数据处理的方法及装置
CN109388975A (zh) * 2017-08-03 2019-02-26 Arm有限公司 针对安全性和可靠性的存储器组织
CN110289947A (zh) * 2019-04-29 2019-09-27 北京开态智慧科技有限公司 数据传输一致性校验方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111400717A (zh) 2020-07-10
CN111368346A (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN111131278B (zh) 数据处理方法及装置、计算机存储介质、电子设备
US8472621B2 (en) Protection of a prime number generation for an RSA algorithm
US8429469B2 (en) Method and apparatus for remotely verifying memory integrity of a device
CN107483419A (zh) 服务器认证接入终端的方法、装置、***、服务器及计算机可读存储介质
US20170063853A1 (en) Data cipher and decipher based on device and data authentication
US8509429B2 (en) Protection of a prime number generation against side-channel attacks
US11755406B2 (en) Error identification in executed code
US8185738B2 (en) Data transmission method using an acknowledgement code comprising hidden authentication bits
CN102693385A (zh) 基于sd可信计算模块的嵌入式终端及实现方法
CN101527714A (zh) 制证的方法、装置及***
US8738919B2 (en) Control of the integrity of a memory external to a microprocessor
CN115664655A (zh) 一种tee可信认证方法、装置、设备及介质
US20190132119A1 (en) Method for exchanging messages between security-relevant devices
CN113489589A (zh) 数据加密、解密方法、装置及电子设备
CA2953027A1 (en) Method for transmitting data, method for receiving data, corresponding devices and programs
CN111400717B (zh) 数据读取方法及相关装置
CN109302442A (zh) 一种数据存储证明方法及相关设备
CN115037474B (zh) Usb pd协议芯片以及身份验证方法
CN114844716B (zh) 数字签名报文处理方法、装置、设备及计算机介质
CN115589298A (zh) 区块链的信息验证方法、装置和***、设备、介质
CN214175061U (zh) 一种终端设备与外接密码键盘绑定***
CN114692124A (zh) 一种数据读取、写入方法、装置和电子设备
CN113542520B (zh) 数据传输方法、读写设备和耗材芯片
CN113572578B (zh) 基于数据中台的tcp数据传输方法、装置、设备和介质
CN116668004B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 300384 Tianjin Binhai New Area Tianjin Huayuan Industrial Zone No. 18 Haitai West Road North 2-204 Industrial Incubation-3-8

Applicant after: Haiguang Information Technology Co., Ltd

Address before: 300384 Tianjin Binhai New Area Tianjin Huayuan Industrial Zone No. 18 Haitai West Road North 2-204 Industrial Incubation-3-8

Applicant before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant