【技术实现步骤摘要】
数据写入方法、数据读取方法及相关装置
[0001]本申请实施例涉及计算机
,尤其涉及一种数据写入方法、数据读取方法及相关装置。
技术介绍
[0002]随着数字技术的发展,很多机密信息都在计算机系统上处理,计算机系统的安全性显得尤为突出。目前计算机系统安全性的保证,通常会从中央处理器CPU硬件和内存控制器上进行设计。由于大部分的机密信息进行加密,并存储于计算机系统的内存上,从而实现对于机密信息的保护,但对于内存中存储的机密信息完整性无法进行检测。如果恶意攻击者,在物理上对加密内存发起攻击,用户不能探测数据的完整性,就会导致业务风险。
[0003]在一种方法中,采用在双倍速率同步动态随机存储器(DDR5)环境下的内存控制器中增加SHA3(第三代安全散列算法)的摘要计算引擎,利用DRAM(内存)本身的冗余存储空间,比如ecc bit(检错纠错位)来保存数据MAC值(Message Authentication Codes(消息身份验证码))。
[0004]但是,SHA3算法虽然能够用于验证数据的完整性,但是其在验证数据完整性时使用的MAC值是截断后存储到内存中的,而截断后的MAC值仅为28位,不能够对内存中存储的大量比特位的数据进行完整性验证,从而会严重削弱内存数据完整性保护功能(冲突碰撞概率为十万分之一左右);并且MAC值存储于内存中的ecc bit位,缩短了原来用于纠错检错的ecc bit,降低纠错码对于内存数据的纠错能力。当内存纠错能力下降后,数据发生错误将无法检测,导致灾难性后果。
[ ...
【技术保护点】
【技术特征摘要】
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所述的数据写入装置,其特征在于,还包括:写入冗余参数获取模块,适于获取写入冗余初始值参数;所述写入冗余编码运算模块,适于对所述待写入数据地址和所述待写入数据利用写入冗余多项式进行写入冗余编码,得到待写入完整性纠错标签,包括:根据所述写入冗余初...
【专利技术属性】
技术研发人员:姜新,应志伟,刘子行,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。