CN117216813B - 用于读写数据的方法、装置和安全芯片 - Google Patents
用于读写数据的方法、装置和安全芯片 Download PDFInfo
- Publication number
- CN117216813B CN117216813B CN202311444432.7A CN202311444432A CN117216813B CN 117216813 B CN117216813 B CN 117216813B CN 202311444432 A CN202311444432 A CN 202311444432A CN 117216813 B CN117216813 B CN 117216813B
- Authority
- CN
- China
- Prior art keywords
- data
- operation instruction
- processing module
- security
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012545 processing Methods 0.000 claims abstract description 136
- 238000003860 storage Methods 0.000 claims abstract description 51
- 238000012795 verification Methods 0.000 claims description 27
- 238000011161 development Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000005336 cracking Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Abstract
本申请涉及安全芯片技术领域,公开了一种用于读写数据的方法,应用于安全芯片,安全芯片包括处理器、用于数据处理的安全处理模块和存储器,该方法包括:处理器接收对存储器的写操作指令或读操作指令;安全处理模块将写操作指令中的写入数据加密处理为存储数据,并将存储数据写入存储器;或安全处理模块根据读操作指令从存储器中读取存储数据,并对存储数据进行解密处理。本申请实施例提供的用于读写数据的方法,能够通过硬件形式的安全处理模块对数据进行加密和解密,从而避免了安全芯片的加密手段被破解的风险。同时,减少了开发者对加密软件开发负担。本申请还公开一种用于读写数据的装置及安全芯片。
Description
技术领域
本申请涉及安全芯片技术领域,例如涉及一种用于读写数据的方法、装置和安全芯片。
背景技术
目前,安全芯片因其特有的安全可靠性,被广泛应用于从单个器件到大型复杂系统的安全解决方案。为应对专用攻击技术,安全芯片需要引入安全设计,以保证安全芯片的使用安全性。
相关技术中,为了保证安全芯片的使用安全性,开发者通常将一些安全敏感的数据通过加密算法写入安全芯片的存储器。当需要从存储器中读取数据时,开发者再对加密后的数据进行解密处理,从而获得明文数据。
在实现本申请实施例的过程中,发现相关技术中至少存在如下问题:
随着安全芯片的功能日益复杂,上述通过软件方式对安全主安全芯片的存储器中的数据进行加解密的安全设计增加了开发者的负担,且软件容易被破解导致安全性不高。同时,复杂的软件算法还会加长算法的运行时间,降低了使用该安全芯片的计算机操作系统的工作效率。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本申请实施例提供了一种用于读写数据的方法、用于读写数据的装置和安全芯片,通过安全处理模块这一硬件模块对存储器的数据进行安全管理,减少了开发者的软件开发负担的同时,也提高了使用安全芯片的计算机系统的运行效率。
在一些实施例中,用于读写数据的方法包括:处理器接收对存储器的写操作指令或读操作指令;安全处理模块将写操作指令中的写入数据加密处理为存储数据,并将存储数据写入存储器;或安全处理模块根据读操作指令从存储器中读取存储数据,并对存储数据进行解密处理。
在一些实施例中,用于读写数据的装置包括:处理器,被配置接收对存储器的写操作指令或读操作指令;安全处理模块,被配置将写操作指令中的写入数据加密处理为存储数据,并将存储数据写入存储器;或被配置为根据读操作指令从存储器中读取存储数据,并对存储数据进行解密处理。
在一些实施例中,安全芯片包括:安全芯片本体,本申请实施例提供的的用于读写数据的装置,该用于读写数据的装置被安装于所述安全芯片本体。
本申请实施例提供的用于读写数据的方法、用于读写数据的装置和安全芯片,可以实现以下技术效果:
本申请提供的实施例提供的方法,能够通过硬件形式的安全处理模块对写入存储器的数据进行加密,从而避免存储器被非法操作。同样,解密过程也通过硬件形式的安全处理模块完成。在上述过程中,无需计算机系统或者用户对加解密过程关注与处理,从而避免了安全芯片的加密手段被破解的风险,对存储器进行合法操作的安全保护程度更高。同时,由于不再通过计算机系统中装载的软件实现安全设计,本申请实施例的该方法还减少了开发者对加密软件开发负担,并且由于减少了算法的运行时间,也提高了使用安全芯片的计算机系统的运行效率。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是本申请实施例提供的用于读写数据的方法的流程示意图之一;
图2是本申请实施例提供的用于读写数据的方法的流程示意图之二;
图3是本申请实施例提供的用于读写数据的方法的流程示意图之三;
图4是本申请实施例提供的用于读写数据的装置的示意图之一;
图5是本申请实施例提供的用于读写数据的装置的示意图之二;
图6是本申请实施例提供的安全芯片的结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本申请实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
术语“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。
本申请实施例中,安全芯片是一种可信任平台模块,为可独立进行密钥生成、加解密的装置。安全芯片内部通常拥有独立的处理器和存储器,可以为计算机提供加密和安全认证服务。由于安全芯片具有保护用户的隐私数据和敏感数据的特点,其被广泛应用于电子支付和互联网金融的应用场景中。例如:通过安全芯片的加密技术,能够保护用户银行卡账户内的个人财产不受恶意攻击和非法侵入,确保用户的金融安全。在移动支付终端、pos机等设备内,都需要使用安全芯片来保护支付交易过程的安全。
本申请实施例提供的安全芯片中可以包括处理器、安全处理模块和存储器。具体地,硬件形式的安全处理模块与处理器和存储器分别通信连接。安全处理模块可以为集成在安全芯片上的电路,该电路可以包括具有加密功能的电路和具有解密功能的解密电路,以使得安全处理模块获得加密和解密的功能。加密电路和解密电路可以具有如HASH(数据认证)、令牌检查签名认证等数据认证功能。
区别于相关技术中通过计算机系统中装载的软件实现安全设计的技术方案。上述安全处理模块作为一硬件模块,可以实现在硬件中对存储数据进行加密或者解密,从而避免了安全芯片在软件层面上的加密手段被破解的风险,对存储器进行合法操作的安全保护程度更高。
结合图1所示,本申请实施例提供一种用于读写数据的方法,包括:
S10,处理器接收对存储器的写操作指令或读操作指令。
安全芯片通常情况下安装至电子设备的计算机系统中。计算机系统在处理用户输入操作、系统调用或者执行应用程序的过程中,将产生读取安全芯片的存储器中存储数据的读操作需求,或者对存储器写入存储数据的写操作需求。当计算机系统产生对存储器的读操作需求和写操作需求的情况下,计算机系统可以对安全芯片的处理器发送读操作指令或者写操作指令。
处理器与安全处理模块通信连接,在处理器接收到读操作指令或者写操作指令后,不同于相关技术中处理器通过软件进行加密或者解密操作以直接从存储器中读写数据的技术方案。本申请实施例提供的方法中,处理器将上述读操作指令或写操作指令发送至硬件形式的安全处理模块,以通过安全处理模块从存储器中读取或者写入数据。
S11,安全处理模块将写操作指令中的写入数据加密处理为存储数据,并将存储数据写入存储器。
在本申请实施例提供的方法中,处理器不再使用算法加密数据,而是使用硬件形式的安全芯片模块对数据进行加密处理。
具体地,安全处理模块在接收到处理器发送的写操作指令后,可以自动地对写操作指令中的写入数据进行加密处理,并将加密处理得到的存储数据写入存储器。上述过程不需要计算机系统或者用户关注或者触发,甚至上述过程对用户不公开,从而避免了对写入数据进行加密过程中遭到攻击或者篡改。上述存储数据为用于存储在存储器中的数据。
S12,安全处理模块根据读操作指令从存储器中读取存储数据,并对存储数据进行解密处理。
同样的,在本申请实施例提供的方法中,处理器也不再使用算法解密存储数据,而是通过硬件形式的安全芯片模块对数据进行解密处理处理,安全芯片模块将存储数据解密后,可以将解密后的数据发送至处理器,以供处理器执行完成读操作指令。
存储数据可以为存储在存储器中,通过安全处理模块对历史的写操作指令中的写入数据进行加密处理之后获得的数据。
需要说明的是,安全处理模块根据读操作指令和写操作指令对数据进行加密处理和解密处理的过程顺序可以是并行的,或者根据接收到的读操作指令或者写操作指令的顺序确定。
如此,采用本申请实施例提供的用于读写数据的方法,能够通过硬件形式的安全处理模块对写入数据进行加密,从而避免存储器被非法操作。同样,解密过程也通过硬件形式的安全处理模块完成。在上述过程中,无需计算机系统或者用户对加解密过程关注与处理,从而避免了安全芯片的加密手段被破解的风险,对存储器进行合法操作的安全保护程度更高。同时,由于不需要再通过计算机系统中装载的软件实现安全设计,本申请实施例的该方法还减少了开发者对加密软件开发负担,并且由于减少了算法的运行时间,也提高了使用安全芯片的计算机系统的运行效率。
可选地,存储数据包括原始数据和加密数据。其中,加密数据是安全处理模块对原始数据进行加密处理后生成的。
存储数据中包括原始数据和加密数据,加密数据与原始数据是对应关联存储至存储器中。
原始数据可以为Raw数据。在安全芯片中,Raw数据通常可能是敏感信息,如密钥、加密算法、身份验证凭据等。因此,安全处理模块在将原始数据写入芯片之前,将对原始数据进行加密来确保原始数据的安全性。
加密数据可以为Rdn数据。在安全芯片中,Rdn数据是经过加密算法处理后的数据,它用于与原始数据进行比较,以检测原始数据是否在传输或存储过程中发生了变化。通过这种加密计算和冗余校验的过程,可以确保原始数据的完整性和安全性,防止恶意攻击者对原始数据进行未经授权的访问和篡改。
可选地,结合图1,如图2所示,在写入数据的长度小于设定长度的情况下,安全处理模块将写操作指令中的写入数据加密处理为存储数据,包括:
S111,安全处理模块将写入数据改写为包含写入数据的原始数据。
其中,原始数据的长度等于设定长度。
写入数据可以是字节格式的数据(Byte数据)Byte数据,Byte数据通常为8位数据,而存储器中存储的存储数据中的原始数据为字数据格式(Word数据)。Word数据可以由4个Word数据或者8个byte数据组成。因此,在写入数据是字节格式的数据的情况下,安全处理模块需要将写入数据改写为原始数据的字数据格式。
改写后的原始数据中包括写入数据,也即安全处理模块可以通过改变写入数据的长度的方式转变写入数据的格式,将其改写为能够存储的原始数据的字数据格式,从而增加安全处理模块的通用性。
设定长度可以为原始数据的长度,也即字数据格式(Word数据)的数据长度。
可选地,设定长度可以为32位或者64位。
在一种可能的实施例中,写入数据也可以为位数据格式(Bit数据),由于写入数据为位数据的使用场景较少。因此,在该实施例中以写入数据字节格式的数据进行示例性说明。
在写入数据为字节格式的数据的情况下,由于字节格式的数据较小,如果安全处理模块直接对写入数据进行加密处理,将增大安全处理模块的数据处理量。此外,安全处理模块将写入数据的字节数据格式改写为字数据格式,再对改写后的写入数据进行加密处理,可以提高安全处理模块的通用性,进而使得安全芯片能够处理写操作指令中的不同模式的写入数据。
可选地,在写入数据为字节格式数据的情况下,安全处理模块将写入数据改写为包含写入数据的原始数据的过程,可以通过下述方式实现:
S1111,安全处理模块根据写操作指令中的写入地址从存储器中读取解密后的待改写数据,待改写数据为设定长度的数据。
写操作指令中携带有写入地址。安全处理模块接收到写操作指令后,根据写入数据从存储器中读取该地址中的存储数据。该存储数据为安全处理模块根据历史写操作指令写入存储器的数据。
安全处理模块在读取该存储数据后对存储数据解密以得到待改写数据后。可以理解,该待改写数据即为历史的原始数据,故而该待改写数据的长度也为原始数据的设定长度。
S1112,安全处理模块根据写入地址所指示的数据位,将待改写数据中相应数据位的数据替换为写入数据,以得到原始数据。
示例性地,在写入数据为字节格式的情况下,安全数据模块将当前新的Byte数据和待改写数据(历史的32位原始数据)中对应数据位的1个旧的Byte数据进行替换,新的Byte数据和待改写数据中的3个Byte数据重新组合为一个新的即将重新写入存储器的原始数据。
如此,安全处理模块能够将不符合字数据格式的写入数据改写为符合字数据格式的原始数据,以为后续对原始数据进行加密处理提供可实现性。
S112,安全处理模块对原始数据进行加密处理,以得到加密数据。
安全处理模块中的加密电路可以对改写后的原始数据进行加密计算,得到冗余数据,该冗余数据即为加密数据。
冗余数据用于检查原始数据的完整性和准确性,可以用于后续该原始数据需要被从存储器中读取时,验证原始数据在传输过程中是否被篡改或者破坏。
S113,安全处理模块根据原始数据和加密数据生成存储数据。
安全处理模块根据原始数据和加密数据进行拼接生成存储数据,也即原始数据和加密数据之间关联为存储数据,该存储数据被写入存储器以便于在需要对存储数据进行读取时进行验证。
如此,安全处理模块将写入数据的数据格式改写为字数据格式,再将改写后的数据作为原始数据进行加密处理,可以提高安全处理模块的通用性,进而使得安全芯片可以处理写操作指令中的不同模式的数据。
可选地,结合图1,如图2所示,在写入数据的长度等于设定长度的情况下,安全处理模块将写操作指令中的写入数据加密处理为存储数据,包括:
S114,安全处理模块将写入数据作为原始数据进行加密,以得到加密数据。
在写入数据的长度等于设定长度的情况下,说明写入数据的数据格式为Word格式,该写入数据不再需要进行格式转换。安全处理模块将字数据格式的写入数据直接作为原始数据进行加密处理,并得到加密数据。该加密数据即为Rdn数据。
S215,安全处理模块将原始数据与加密数据关联后作为存储数据。
安全处理模块根据原始数据和加密数据进行拼接生成存储数据,也即原始数据和加密数据之间关联为存储数据,该存储数据被写入存储器,以便于在需要对存储数据进行读取时进行验证。
如此,安全处理模块可以对字数据格式的写入数据进行直接加密处理,安全处理模块的数据处理效率得以进一步提高。
可选地,结合图1,如图2所示,安全处理模块对存储数据进行解密处理,可以通过以下方式实现:
S121,安全处理模块根据读操作指令中的读取地址从存储器中读取存储数据,并对存储数据中的原始数据解密以获得解密数据。
安全处理模块接收到处理器发送的读操作指令后,作为硬件形式安全处理模块根据读操作指令中的读取地址从存储器中读取存储数据。该存储数据为通过历史写操作指令写入存储器的数据。
安全处理模块使用解密秘钥对原始数据进行解密计算,这个过程可以将原始数据还原为原始的明文数据。
S122,安全处理模块将解密数据与加密数据进行一致性验证。
安全处理模块在解密计算完成后,会将解密后的原始数据与加密数据(Rdn数据)进行一致性的比较。Rdn数据是一个唯一的标识符,用于标识原始数数据的身份。
S123,在验证通过的情况下,安全处理模块输出原始数据至处理器。
在验证通过的情况下,说明原始数据在存储和传输的过程中没有被攻击或者篡改,具有安全性和完整性。因此,安全处理模块可以将该原始数据发送至处理器,以供处理器将该原始数据发送至读操作指令的触发主体,从而执行完成该读操作指令。
如此,安全处理模块通过对原始数据进行解密和安全性及完整性的验证,可以保护敏感数据不被非法访问,以确保安装有安全芯片的计算机系统的稳定性和可靠性。
可选地,在安全处理模块将解密数据中与加密数据进行一致性验证之后,该方法还可以包括:
S124,在验证未通过的情况下,安全处理模块终止执行读操作指令。
在上述一致性验证未通过的情况下,安全处理模块可以终止执行读操作指令,以防止敏感数据被非法访问。
除此之外,安全芯片还将发送一个中断信号或指令,通知计算机系统读操作指令的执行发生了错误或异常情况。当计算机系统接收到这个信号或指令后,以使计算机系统采取相应的措施处理上述异常情况。
可选地,在安全处理模块将解密数据中与加密数据进行一致性验证之后,该方法还可以包括:
S125,在验证未通过的情况下,安全处理模块通过处理器对安全芯片进行复位。
在上述一致性验证未通过的情况下,安全处理模块可以向处理器发送信号,以使处理器将安全芯片恢复到初始状态。通常情况下,复位操作可以将所有的寄存器、存储器和处理器重置为初始值。复位可以确保安全芯片乃至计算机系统的状态和数据被清除,从而防止任何非法访问或篡改。
如此,安全处理模块在对原始数据和加密数据进行的一致性验证失败的情况下,可以通过中断或者复位安全芯片的方式防止非法访问或者篡改。
可选地,结合图1,如图3所示,安全芯片还包括权限控制模块104,权限控制模块分别与处理器和安全处理模块通信连接,在接收对存储器的写操作指令或读操作指令之后,该方法还可以包括:
S101,权限控制模块基于写操作指令的写入地址或读操作指令的读取地址进行权限验证。
处理器接收到读操作指令或者写操作指令的情况下,处理器将该读操作指令和写操作指令发送至权限控制模块,以使权限控制模块对读操作指令或者写操作指令进行权限验证。
权限控制模块同样可以为集成在安全芯片上的电路,硬件形式的权限控制模块可以进一步地减少安全芯片软件开发者的软件开发负担。
处理器可以通过寄存器对权限控制模块进行可访问地址范围的设置,该可访问地址范围为读操作指令和写操作指令允许对存储器进行访问的地址范围。通过设置该可访问地址范围,可以将存储器中的部分数据(可访问地址范围之外的数据)进行严格的读写限制,从而使用户能够灵活配置可访问地址范围的读写权限。
读操作指令中携带有读取地址,写操作指令中携带有写入地址,权限控制模块可以验证读取地址和写入地址是否处于可允许访问地址范围。如果写入地址或读取地址并非处于可访问地址范围,则权限控制模块通知处理器,该读操作指令或者写操作指令不能被执行。
S102,在通过权限验证的情况下,权限控制模块将写操作指令或读操作指令传输至安全处理模块。
在读操作指令和写操作指令处于可访问地址范围内的情况下,权限控制模块将该读操作指令和写操作指令传输至安全处理模块,以供安全处理模块将写操作指令中的写入数据加密处理为存储数据,并将存储数据写入存储器,或者供安全处理模块将读操作指令从存储器中读取存储数据,并对存储数据进行解密处理。
如此,处理器通过寄存器对权限控制模块配置可访问地址范围,权限控制模块可以根据该可访问地址范围对读操作指令和写操作指令的验证。只有读操作指令和写操作指令通过验证的情况下,才将读操作指令或写操作指令发送至安全处理模块,从而可以实现安全级别更高的数据(可访问地址范围之外的数据)的安全保护。
结合图4所示,本公开实施例提供一种用于读写数据的装置400,包括处理器401、安全处理模块403和存储器404。处理器401被配置为接收对存储器的写操作指令或读操作指令;安全处理模块403被配置将写操作指令中的写入数据加密处理为存储数据,并将存储数据写入存储器404;或安全处理模块403被配置为根据读操作指令从存储器404中读取存储数据,并对存储数据进行解密处理,存储器404被配置为存储存储数据。
如此,采用本申请实施例提供的用于读写数据的装置,能够通过硬件形式的安全处理模块403对写入存储器404的数据进行加密,从而避免存储器404被非法操作。同样,解密过程也通过硬件形式的安全处理模块403完成。在上述过程中,无需计算机系统或者用户对加解密过程关注与处理,从而避免了安全芯片的加密手段被破解的风险,对存储器404进行合法操作的安全保护程度更高。同时,由于不再通过计算机系统中装载的软件实现安全设计,本申请实施例的该方法还减少了开发者对加密软件开发负担,并且由于减少了算法的运行时间,也提高了使用安全芯片的计算机系统的运行效率。
可选地,存储数据包括原始数据和加密数据;其中,加密数据是安全处理模块403对原始数据进行加密处理后生成的。
可选地,安全处理模块403还被配置为在写入数据的长度小于设定长度的情况下,将写入数据改写为包含写入数据的原始数据;其中,原始数据的长度等于设定长度;对原始数据进行加密处理,以得到加密数据;根据原始数据和加密数据生成存储数据。
可选地,安全处理模块403还被配置为根据写操作指令中的写入地址从存储器404中读取解密后的待改写数据,待改写数据为设定长度的数据;根据写入地址所指示的数据位,将待改写数据中相应数据位的数据替换为写入数据,以得到原始数据。
可选地,安全处理模块403还被配置为在写入数据的长度等于设定长度的情况下,安全处理模块403将写入数据作为原始数据进行加密,以得到加密数据;将原始数据与加密数据关联后作为存储数据。
可选地,安全处理模块403还被配置为根据读操作指令中的读取地址从存储器404中读取存储数据,并对存储数据中的原始数据解密以获得解密数据;将解密数据与加密数据进行一致性验证;在验证通过的情况下,输出原始数据至处理器401。
可选地,安全处理模块403还被配置为在验证未通过的情况下,终止执行读操作指令;和/或在验证未通过的情况下,通过处理器401对安全芯片进行复位。
可选地,用于读写数据的装置400还包括权限控制模块402,权限控制模块分别与处理器401和安全处理模块403通信连接,权限控制模块402被配置为对写操作指令或读操作指令进行权限验证;在通过权限验证的情况下,权限控制模块将写操作指令或读操作指令传输至安全处理模块403。
如图4所示,在本申请的一个实施例中,用于读写数据的装置400在接收到写操作指令后,首先经过权限控制模块402进行权限检查,写操作指令经过权限控制模块402验证的情况下,权限控制模块402将写操作指令传输至安全处理模块403。
当执行的写操作指令中的写入数据为字节数据格式的情况下,安全处理模块403通过改写模块将写操作指令中的写入数据改写为字数据格式。改写模块先根据该写入数据的地址读出该地址所在的整个原始数据(word数据),用当前新写入数据(byte数据)和原始数据中剩余的旧的3个byte数据,拼接成一个新的原始数据,也就是raw wdata数据。安全处理模块403对原始数据(raw wdata数据)进行加密计算,得到冗余数据(加密数据rdn)。安全处理模块403将raw wdata与rdn拼接,一起写入存储器。
当执行的写操作指令中的写入数据为字数据格式的情况下,word数据的写入不需要进行改写,可直接进行加密计算。
如图5所示,在处理器401执行读操作指令时,读操作指令首先经过权限控制模块402,进行权限检查。权限控制模块402可以通过地址区间判断模块对写操作指令和读操作指令中的地址进行权限验证。在通过验证后,权限控制模块402将读操作指令传输至安全处理模块403,安全处理模块403从存储器404读取存储数据。该存储数据包含原始数据raw和加密数据rdn。安全处理模块403使用原始数据raw进行解密计算,将解密数据与rdn进行比较。如果不一致,安全处理模块403将通过处理器401产生一个中断,或者复位信号,从而复位或者终端整个安全芯片。
如图6所示,本申请实施例提供了一种安全芯片600,包括:芯片本体,以及上述的用于读写数据的装置400。用于读写数据的装置400安装于芯片本体601。这里所表述的安装关系,并不仅限于在芯片本体601的集成设置,还包括了与芯片本体601的其他元器件的安装连接,包括但不限于物理连接、电性连接或者信号传输连接等。本领域技术人员可以理解的是,用于读写数据的装置400可以适配于可行的芯片本体601,进而实现其他可行的实施例。
本申请实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,例如:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质。
以上描述和附图充分地示出了本申请的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本申请实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现。
Claims (7)
1.一种用于读写数据的方法,应用于安全芯片,其特征在于,安全芯片包括处理器、用于数据处理的安全处理模块和存储器,所述方法包括:
处理器接收对存储器的写操作指令或读操作指令;
在写入数据的长度小于设定长度的情况下,安全处理模块将写操作指令中的写入数据加密处理为存储数据,并将存储数据写入存储器;
其中,安全处理模块将写操作指令中的写入数据加密处理为存储数据,包括:
根据写操作指令中的写入地址,从存储器中读取解密后的待改写数据,其中,待改写数据为设定长度的数据;
根据写入地址所指示的数据位,将待改写数据中相应数据位的数据替换为写入数据,以得到原始数据;其中,原始数据的长度等于设定长度;
对原始数据进行加密处理,以得到加密数据;
根据原始数据和加密数据,生成存储数据。
2.根据权利要求1所述的方法,其特征在于,进一步包括:安全处理模块根据读操作指令从存储器中读取存储数据,并对存储数据进行解密处理。
3.根据权利要求2所述的方法,其特征在于,安全处理模块对存储数据进行解密处理,包括:
安全处理模块根据读操作指令中的读取地址从存储器中读取存储数据,并对存储数据中的原始数据解密以获得解密数据;
安全处理模块将解密数据与加密数据进行一致性验证;
在验证通过的情况下,安全处理模块输出原始数据至处理器。
4.根据权利要求3所述的方法,其特征在于,在安全处理模块对解密数据中的目标字符段中的字符内容与加密数据进行一致性验证之后,所述方法还包括:
在验证未通过的情况下,安全处理模块终止执行读操作指令;和/或
在验证未通过的情况下,安全处理模块通过处理器对安全芯片进行复位。
5.根据权利要求1至4中任一项所述的方法,其特征在于,安全芯片还包括权限控制模块,权限控制模块分别与处理器和安全处理模块通信连接,在接收对存储器的写操作指令或读操作指令之后,所述方法还包括:
权限控制模块基于写操作指令的写入地址或读操作指令的读取地址进行权限验证;
在通过权限验证的情况下,权限控制模块将写操作指令或读操作指令传输至安全处理模块。
6.一种用于读写数据的装置,其特征在于,包括:
处理器,被配置为接收对存储器的写操作指令或读操作指令;
安全处理模块,被配置在写入数据的长度小于设定长度的情况下,将写操作指令中的写入数据加密处理为存储数据,并将存储数据写入存储器;其中,安全处理模块将写操作指令中的写入数据加密处理为存储数据,包括:
根据写操作指令中的写入地址,从存储器中读取解密后的待改写数据,其中,待改写数据为设定长度的数据;
根据写入地址所指示的数据位,将待改写数据中相应数据位的数据替换为写入数据,以得到原始数据;其中,原始数据的长度等于设定长度;
对原始数据进行加密处理,以得到加密数据;
根据原始数据和加密数据,生成存储数据;
存储器,被配置为存储存储数据。
7.一种安全芯片,其特征在于,包括:
安全芯片本体,
如权利要求6所述的用于读写数据的装置,被安装于所述安全芯片本体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311444432.7A CN117216813B (zh) | 2023-11-02 | 2023-11-02 | 用于读写数据的方法、装置和安全芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311444432.7A CN117216813B (zh) | 2023-11-02 | 2023-11-02 | 用于读写数据的方法、装置和安全芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117216813A CN117216813A (zh) | 2023-12-12 |
CN117216813B true CN117216813B (zh) | 2024-03-26 |
Family
ID=89042798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311444432.7A Active CN117216813B (zh) | 2023-11-02 | 2023-11-02 | 用于读写数据的方法、装置和安全芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117216813B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663326A (zh) * | 2012-03-12 | 2012-09-12 | 东南大学 | 用于SoC的数据安全加密模块 |
CN206348799U (zh) * | 2016-09-19 | 2017-07-21 | 爱国者安全科技(北京)有限公司 | 加密存储装置和安全存储系统 |
CN107302546A (zh) * | 2017-08-16 | 2017-10-27 | 北京奇虎科技有限公司 | 大数据平台安全访问系统、方法及电子设备 |
CN110929302A (zh) * | 2019-10-31 | 2020-03-27 | 东南大学 | 一种数据安全加密存储方法及存储装置 |
CN116455572A (zh) * | 2023-06-16 | 2023-07-18 | 北京华安天成智能技术有限公司 | 数据加密方法、装置及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4883728B2 (ja) * | 2009-06-26 | 2012-02-22 | 株式会社バッファロー | ストレージ装置、ストレージ装置の制御方法、およびコンピュータプログラム |
-
2023
- 2023-11-02 CN CN202311444432.7A patent/CN117216813B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663326A (zh) * | 2012-03-12 | 2012-09-12 | 东南大学 | 用于SoC的数据安全加密模块 |
CN206348799U (zh) * | 2016-09-19 | 2017-07-21 | 爱国者安全科技(北京)有限公司 | 加密存储装置和安全存储系统 |
CN107302546A (zh) * | 2017-08-16 | 2017-10-27 | 北京奇虎科技有限公司 | 大数据平台安全访问系统、方法及电子设备 |
CN110929302A (zh) * | 2019-10-31 | 2020-03-27 | 东南大学 | 一种数据安全加密存储方法及存储装置 |
CN116455572A (zh) * | 2023-06-16 | 2023-07-18 | 北京华安天成智能技术有限公司 | 数据加密方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117216813A (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0787328B1 (en) | Method for verifying the configuration of a computer system | |
CN100421046C (zh) | 安全运行特许软件的方法和计算装置 | |
KR100996784B1 (ko) | 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 | |
CN103210396B (zh) | 包括用于保护敏感代码和数据的架构的方法和装置 | |
KR101067399B1 (ko) | 대칭 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 | |
TW445402B (en) | Secure processor with external memory using block chaining and block re-ordering | |
JP5775738B2 (ja) | 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム | |
JP2710754B2 (ja) | チップ・カードのキーを保護する装置 | |
KR102445518B1 (ko) | 장치 키 보호 | |
US6871192B2 (en) | System and method for preventing unauthorized use of protected software utilizing a portable security device | |
CN107908574B (zh) | 固态盘数据存储的安全保护方法 | |
TWI631462B (zh) | 確保機板上匯流排交易安全的計算系統和計算設備實現的方法以及非暫時性的電腦可讀取媒體 | |
US20230370263A1 (en) | Master key escrow process | |
US20100077230A1 (en) | Protecting a programmable memory against unauthorized modification | |
CN109299944B (zh) | 一种交易过程中的数据加密方法、系统及终端 | |
KR20010048160A (ko) | Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치 | |
US20190044709A1 (en) | Incorporating software date information into a key exchange protocol to reduce software tampering | |
US20070106907A1 (en) | Method and device for encryption and decryption on the fly | |
CN111327429B (zh) | 终端启动的处理方法和装置 | |
US20100088770A1 (en) | Device and method for disjointed computing | |
CN117216813B (zh) | 用于读写数据的方法、装置和安全芯片 | |
EP0962850A2 (en) | A method for protecting embedded system software and embedded system | |
CN114237492A (zh) | 非易失性存储器保护方法及装置 | |
WO2020088515A1 (zh) | Pos用户公钥安全认证方法、装置和终端设备 | |
CN116070219B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |