数据写入方法、数据读取方法及相关装置制造方法及图纸

技术编号:36949140 阅读:56 留言:0更新日期:2023-03-22 19:10
本申请实施例提供一种数据写入方法、数据读取方法及相关装置,其中,数据写入方法包括获取待写入数据和所述待写入数据对应的待写入数据地址;对所述待写入数据地址和所述待写入数据利用写入冗余多项式进行写入冗余编码运算,得到待写入完整性纠错标签,所述待写入完整性纠错标签用于完整性验证和数据纠错;将所述待写入数据和所述待写入完整性纠错标签写入到内存。本申请实施例所提供的数据写入方法可实现在保证纠错能力的情况下,提高内存数据的完整性保护功能。据的完整性保护功能。据的完整性保护功能。

【技术实现步骤摘要】
数据写入方法、数据读取方法及相关装置


[0001]本申请实施例涉及计算机
,尤其涉及一种数据写入方法、数据读取方法及相关装置。

技术介绍

[0002]随着数字技术的发展,很多机密信息都在计算机系统上处理,计算机系统的安全性显得尤为突出。目前计算机系统安全性的保证,通常会从中央处理器CPU硬件和内存控制器上进行设计。由于大部分的机密信息进行加密,并存储于计算机系统的内存上,从而实现对于机密信息的保护,但对于内存中存储的机密信息完整性无法进行检测。如果恶意攻击者,在物理上对加密内存发起攻击,用户不能探测数据的完整性,就会导致业务风险。
[0003]在一种方法中,采用在双倍速率同步动态随机存储器(DDR5)环境下的内存控制器中增加SHA3(第三代安全散列算法)的摘要计算引擎,利用DRAM(内存)本身的冗余存储空间,比如ecc bit(检错纠错位)来保存数据MAC值(Message Authentication Codes(消息身份验证码))。
[0004]但是,SHA3算法虽然能够用于验证数据的完整性,但是其在验证数据完整性时使用的MAC值是截断后存储到内存中的,而截断后的MAC值仅为28位,不能够对内存中存储的大量比特位的数据进行完整性验证,从而会严重削弱内存数据完整性保护功能(冲突碰撞概率为十万分之一左右);并且MAC值存储于内存中的ecc bit位,缩短了原来用于纠错检错的ecc bit,降低纠错码对于内存数据的纠错能力。当内存纠错能力下降后,数据发生错误将无法检测,导致灾难性后果。
[0005]因此,如何在保证纠错能力的情况下,提高内存数据的完整性保护功能,就成为亟需解决的技术问题。

技术实现思路

[0006]本申请实施例解决的技术问题是如何在保证纠错能力的情况下,提高内存数据的完整性保护功能。
[0007]为解决上述问题,本申请实施例提供一种数据写入方法、数据读取方法及相关装置,包括:
[0008]第一方面,本申请实施例提供一种数据写入方法,所述方法包括:
[0009]获取待写入数据和所述待写入数据对应的待写入数据地址;
[0010]对所述待写入数据地址和所述待写入数据利用写入冗余多项式进行写入冗余编码运算,得到待写入完整性纠错标签,所述待写入完整性纠错标签用于完整性验证和数据纠错;
[0011]将所述待写入数据和所述待写入完整性纠错标签写入到内存。
[0012]第二方面,本申请实施例提供一种数据读取方法,所述方法包括:
[0013]获取待读取数据地址存储的待读取数据,和与所述待读取数据对应的待读取完整
性纠错标签,所述待读取数据地址包括如第一方面所述的数据写入方法中的待写入数据地址,所述待读取完整性纠错标签包括如第一方面所述的数据写入方法中写入的待写入完整性纠错标签,所述待读取完整性纠错标签用于对所述待读取数据进行完整性验证和数据纠错;
[0014]根据所述待读取完整性纠错标签,获取第一冗余完整性纠错标签;
[0015]对所述待读取数据和所述待读取数据地址利用读取冗余多项式进行读取冗余编码运算,得到第二冗余完整性纠错标签,所述读取冗余多项式与第一方面所述的数据写入方法中写入冗余多项式对应;
[0016]当所述第一冗余完整性纠错标签等于所述第二冗余完整性纠错标签时,确定所述待读取数据完整;
[0017]发送确定完整的所述待读取数据。
[0018]第三方面,本申请实施例还提供一种数据写入装置,所述装置包括:
[0019]写入获取模块,适于获取待写入数据和所述待写入数据对应的待写入数据地址;
[0020]写入冗余编码运算模块,适于对所述待写入数据地址和所述待写入数据利用写入冗余多项式进行写入冗余编码运算,得到待写入完整性纠错标签,所述待写入完整性纠错标签用于完整性验证和数据纠错;
[0021]写入模块,适于将所述待写入数据和所述待写入完整性纠错标签写入到内存。
[0022]第四方面,本申请实施例还提供一种数据读取装置,所述装置包括:
[0023]读取获取模块,适于获取待读取数据地址存储的待读取数据,和与所述待读取数据对应的待读取完整性纠错标签,所述待读取数据地址包括如第三方面所述的数据写入装置中的待写入数据地址,所述待读取完整性纠错标签包括如第三方面所述的数据写入装置中写入的待写入完整性纠错标签,所述待读取完整性纠错标签用于对所述待读取数据进行完整性验证和数据纠错;
[0024]第一冗余完整性纠错标签获取模块,适于根据所述待读取完整性纠错标签,获取第一冗余完整性纠错标签;
[0025]读取冗余编码运算模块,适于对所述待读取数据和所述待读取数据地址利用读取冗余多项式进行读取冗余编码运算,得到第二冗余完整性纠错标签,所述读取冗余多项式与第三方面所述的数据写入装置中写入冗余多项式对应;
[0026]完整性确定模块,适于当所述第一冗余完整性纠错标签等于所述第二冗余完整性纠错标签时,确定所述待读取数据完整;
[0027]发送模块,适于发送确定完整的所述待读取数据。
[0028]第五方面,本申请实施例还提供一种存储介质,所述存储介质存储有适于数据写入和数据读取的程序,以实现如第一方面所述的数据写入方法或第二方面所述的数据读取方法。
[0029]第六方面,本申请实施例还提供一种电子设备,包括至少一个存储器和至少一个处理器,所述存储器存储有数据写入程序,所述处理器调用所述程序,以执行如第一方面所述的数据写入方法或第二方面所述的数据读取方法。
[0030]与现有技术相比,本申请实施例的技术方案具有以下优点:
[0031]在本申请实施例中,首先获取待写入数据和所述待写入数据对应的待写入数据地
址;对所述待写入数据进行加密,得到待写入加密数据;对所述待写入数据地址和所述待写入加密数据利用写入冗余多项式进行写入冗余编码运算,得到完整性纠错标签;对所述完整性纠错标签进行加密,得到待写入加密完整性纠错标签,所述待写入加密完整性纠错标签用于完整性验证和数据纠错;将所述待写入加密数据和所述待写入加密完整性纠错标签写入到内存。
[0032]可见,本申请实施例所提供的技术方案,根据需要写入的待写入数据和所述待写入数据对应的待写入数据地址,首先利用写入冗余多项式对待写入数据和待写入数据地址进行写入冗余编码运算,得到待写入完整性纠错标签,然后将待写入完整性纠错标签和所述待写入数据写入到内存,待写入完整性纠错标签不仅可以实现在待写入数据出错时对待写入数据的纠错,而且同时可以实现对待写入数据地址对应的待写入数据的完整性验证,无需额外设置用于完整性验证的标签,因此不会占用用于纠错的纠错标签的存储空间,保证纠错性能,因此,可以在不影响对数据的纠错性能,保证纠错能力的情况下,提高内存数据的完整性保护功能。
附图说明
[0033]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据写入方法,其特征在于,包括:获取待写入数据和所述待写入数据对应的待写入数据地址;对所述待写入数据地址和所述待写入数据利用写入冗余多项式进行写入冗余编码运算,得到待写入完整性纠错标签,所述待写入完整性纠错标签用于完整性验证和数据纠错;将所述待写入数据和所述待写入完整性纠错标签写入到内存。2.如权利要求1所述的数据写入方法,其特征在于,还包括:获取写入冗余初始值参数;所述对所述待写入数据地址和所述待写入数据利用写入冗余多项式进行写入冗余编码运算,得到待写入完整性纠错标签的步骤包括:根据所述写入冗余初始值参数和所述待写入数据地址得到写入冗余初始值;利用写入冗余多项式和所述写入冗余初始值对所述待写入数据进行写入冗余编码运算,得到所述待写入完整性纠错标签。3.如权利要求1所述的数据写入方法,其特征在于,还包括:对所述待写入完整性纠错标签进行加密,得到待写入加密完整性纠错标签;所述将所述待写入数据和所述待写入完整性纠错标签写入到内存的步骤包括:将所述待写入数据和所述待写入加密完整性纠错标签写入到内存。4.如权利要求3所述的数据写入方法,其特征在于,所述对所述待写入完整性纠错标签进行加密,得到待写入加密完整性纠错标签的步骤包括:根据所述待写入数据地址得到第一加密密钥;利用所述第一加密密钥对所述待写入完整性纠错标签进行加密,得到所述待写入加密完整性纠错标签。5.如权利要求4所述的数据写入方法,其特征在于,还包括:获取第一加密参数;所述根据所述待写入数据地址得到第一加密密钥的步骤包括:根据所述第一加密参数和所述待写入数据地址得到所述第一加密密钥。6.如权利要求1所述的数据写入方法,其特征在于,还包括:对所述待写入数据进行加密,得到待写入加密数据;所述将所述待写入数据和所述待写入完整性纠错标签写入到内存的步骤包括:将所述待写入加密数据和所述待写入完整性纠错标签写入到内存。7.如权利要求6所述的数据写入方法,其特征在于,所述对所述待写入数据进行加密,得到待写入加密数据的步骤包括:根据安全加密参数得到第二加密密钥,所述安全加密参数通过安全处理器获得;利用所述第二加密密钥对所述待写入数据进行加密,得到所述待写入加密数据。8.如权利要求7所述的数据写入方法,其特征在于,还包括:获取第二加密参数;所述根据安全加密参数得到第二加密密钥的步骤包括:根据所述第二加密参数和所述安全加密参数得到所述第二加密密钥。9.一种数据读取方法,其特征在于,包括:获取待读取数据地址存储的待读取数据,和与所述待读取数据对应的待读取完整性纠
错标签,所述待读取数据地址包括如权利要求1

8任一项所述的数据写入方法中的待写入数据地址,所述待读取完整性纠错标签包括如权利要求1

8任一项所述的数据写入方法中写入的待写入完整性纠错标签,所述待读取完整性纠错标签用于对所述待读取数据进行完整性验证和数据纠错;根据所述待读取完整性纠错标签,获取第一冗余完整性纠错标签;对所述待读取数据和所述待读取数据地址利用读取冗余多项式进行读取冗余编码运算,得到第二冗余完整性纠错标签,所述读取冗余多项式与权利要求1

8任一项所述的数据写入方法中写入冗余多项式对应;当所述第一冗余完整性纠错标签等于所述第二冗余完整性纠错标签时,确定所述待读取数据完整;发送确定完整的所述待读取数据。10.如权利要求9所述的数据读取方法,其特征在于,还包括:当所述第一冗余完整性纠错标签不等于所述第二冗余完整性纠错标签时,获取所述第一冗余完整性纠错标签和所述第二冗余完整性纠错标签的错误偏差;当所述错误偏差不大于纠错阈值时,对所述待读取数据和所述第一冗余完整性纠错标签利用所述读取冗余编码运算进行数据纠错,得到纠正待读取数据;发送所述纠正待读取数据。11.如权利要求10所述的数据读取方法,其特征在于,还包括:当所述错误偏差大于所述纠错阈值时,发出数据异常信息。12.如权利要求10所述的数据读取方法,其特征在于,所述错误偏差包括汉明距离。13.如权利要求9所述的数据读取方法,其特征在于,还包括:获取读取冗余初始值参数;所述对所述待读取数据和所述待读取数据地址利用读取冗余多项式进行读取冗余编码运算,得到第二冗余完整性纠错标签的步骤包括:根据所述读取冗余初始值参数和所述待读取数据地址得到读取冗余初始值;利用所述读取冗余多项式和所述读取冗余初始值对所述待读取数据进行读取冗余编码运算,得到所述第二冗余完整性纠错标签。14.如权利要求9所述的数据读取方法,其特征在于,所述待读取完整性纠错标签包括待读取加密完整性纠错标签,所述根据所述待读取完整性纠错标签,获取第一冗余完整性纠错标签的步骤,包括:对所述待读取加密完整性纠错标签进行解密,获取所述第一冗余完整性纠错标签。15.如权利要求14所述的数据读取方法,其特征在于,所述对所述待读取加密完整性纠错标签进行解密,获取所述第一冗余完整性纠错标签的步骤包括:利用所述待读取数据地址得到第一解密密钥,所述第一解密密钥与第一加密密钥对应,所述第一加密密钥用于在数据写入时对完整性纠错标签进行加密,得到所述待写入加密完整性纠错标签;利用所述第一解密密钥对所述待读取加密完整性纠错标签进行解密,得到所述第一冗余完整性纠错标签。16.如权利要求15所述的数据读取方法,其特征在于,还包括:
获取第一解密参数,所述第一解密参数与第一加密参数对应,所述第一加密参数用于在数据写入时获取所述第一加密密钥;所述利用所述待读取数据地址得到第一解密密钥的步骤包括:利用所述第一解密参数和所述待读取数据地址得到第一解密密钥。17.如权利要求9所述的数据读取方法,其特征在于,所述待读取数据包括待读取加密数据,所述发送确定完整的所述待读取数据的步骤之前,还包括:对所述待读取加密数据进行解密,得到待读取解密数据;所述发送确定完整的所述待读取数据的步骤包括:发送确定完整的所述待读取解密数据。18.如权利要求17所述的数据读取方法,其特征在于,所述对所述待读取加密数据进行解密,得到待读取解密数据的步骤包括:获取安全解密参数,所述安全解密参数与安全加密参数对应,所述安全加密参数通过安全处理器获得,且用于在数据写入时获取对待写入数据进行加密的第二加密密钥;根据所述安全解密参数得到第二解密密钥;利用所述第二解密密钥对所述待读取加密数据进行解密,得到所述待读取解密数据。19.如权利要求18所述的数据读取方法,其特征在于,还包括:获取第二解密参数,所述第二解密参数与第二加密参数对应,所述第二加密参数用于在数据写入时获取所述第二加密密钥;所述根据所述安全解密参数得到第二解密密钥的步骤包括:根据所述第二解密参数和所述安全解密参数得到第二解密密钥;利用所述第二解密密钥对所述待读取加密数据进行解密,得到所述待读取解密数据。20.一种数据写入装置,其特征在于,包括:写入获取模块,适于获取待写入数据和所述待写入数据对应的待写入数据地址;写入冗余编码运算模块,适于对所述待写入数据地址和所述待写入数据利用写入冗余多项式进行写入冗余编码运算,得到待写入完整性纠错标签,所述待写入完整性纠错标签用于完整性验证和数据纠错;写入模块,适于将所述待写入数据和所述待写入完整性纠错标签写入到内存。21.如权利要求20所述的数据写入装置,其特征在于,还包括:写入冗余参数获取模块,适于获取写入冗余初始值参数;所述写入冗余编码运算模块,适于对所述待写入数据地址和所述待写入数据利用写入冗余多项式进行写入冗余编码,得到待写入完整性纠错标签,包括:根据所述写入冗余初...

【专利技术属性】
技术研发人员:姜新应志伟刘子行
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1