实现芯片中数据的保护方法、装置和芯片与流程

文档序号:33002816发布日期:2023-01-18 01:48阅读:43来源:国知局
实现芯片中数据的保护方法、装置和芯片与流程

1.本技术涉及芯片技术领域,具体而言,本技术涉及一种实现芯片中数据的保护方法、装置和芯片。


背景技术:

2.目前,随着数字化时代的到来,数据传输、存储过程中出现的安全问题愈来愈多,数据泄密可能会造成人们隐私的泄露,并有可能造成经济上的损失。
3.通常,芯片中存储的数据是在传输过程中进行加密的,发送方对芯片中存储的数据加密后,将加密的数据发送至接收方,接收方再对加密的数据进行解密,得到数据。在这种数据加密手段下,仅对数据传输过程中的数据进行加密保护,芯片内存储的数据未能得到很好的保护,极易被其他设备直接复制芯片内存储的数据,从而发生泄密的问题。
4.因此,如何防止芯片内存储的数据发生泄密成为了亟需处理的问题。


技术实现要素:

5.本技术各实施例提供了一种实现芯片中数据的保护方法、装置和芯片,可以解决相关技术中存在的芯片内存储的数据发生泄密的问题。
6.所述技术方案如下:
7.根据本技术实施例的一个方面,一种实现芯片中数据的保护方法,包括:获取读地址,根据所述读地址读取所述芯片内第一存储区的初始数据;进行与芯片标识信息相关的加密处理,得到写地址;根据所述写地址,将所述初始数据的加密数据,写入所述芯片内的第二存储区。
8.在一示例性实施例中,所述获取读地址,根据所述读地址读取所述芯片内第一存储区的初始数据,包括:随机生成第一随机数,将所述第一随机数作为所述读地址;根据所述读地址,从所述第一存储区中读取所述初始数据。
9.在一示例性实施例中,所述进行与芯片标识信息相关的加密处理,得到写地址,包括:获取所述芯片标识信息,并随机生成第二随机数;对所述芯片标识信息、所述第二随机数和所述初始数据进行加密处理,生成所述写地址。
10.在一示例性实施例中,所述根据所述写地址,将所述初始数据的加密数据,写入所述芯片内的第二存储区中,包括:对所述初始数据进行加密处理,得到所述加密数据;将所述加密数据,存储到所述第二存储区中对应于所述写地址的存储位置。
11.在一示例性实施例中,所述第一存储区为明文储存区,所述第二存储区为密文存储区,所述方法还包括:根据设定的划分规则,对所述芯片内的存储区进行划分,得到用于存储所述初始数据的明文存储区、以及用于存储所述加密数据的密文存储区。
12.在一示例性实施例中,所述芯片标识信息是所述芯片的产品序列号。
13.根据本技术实施例的一个方面,一种实现芯片中数据的保护装置,包括:数据读取模块,用于获取读地址,根据所述读地址读取所述芯片内第一存储区的初始数据;写地址获
取模块,用于进行与芯片标识信息相关的加密处理,得到写地址;数据存储模块,用于根据所述写地址,将所述初始数据加密处理后生成的加密数据,写入所述芯片的第二存储区中。
14.在一示例性实施例中,所述写地址获取模块,包括:随机数生成单元,用于随机生成随机数;加密处理单元,用于对所述芯片标识信息、所述随机数和所述初始数据进行加密处理,生成所述写地址。
15.在一示例性实施例中,所述第一存储区为明文储存区,所述第二存储区为密文存储区,所述装置还包括:存储区划分模块,用于根据设定的划分规则,对所述芯片内的存储区进行划分,得到用于存储所述初始数据的明文存储区、以及用于存储所述加密数据的密文存储区。
16.在一示例性实施例中,所述芯片标识信息是所述芯片的产品序列号。
17.根据本技术实施例的一个方面,一种芯片,包括如上所述的实现芯片中数据的保护装置。
18.本技术提供的技术方案带来的有益效果是:
19.在上述技术方案中,先基于读地址读取第一存储区内的初始数据,以对初始数据加密处理后获得加密数据,再通过与芯片标识信息相关的加密处理得到写地址,根据该写地址将加密数据写入第二存储区。由上可知,写地址决定了加密数据写入第二存储区的位置,由于写地址区别于读地址,故第二存储区的加密数据与第一存储区的初始数据相比,数据存储顺序发生了改变。又因为写地址的生成与芯片标识信息相关,芯片标识信息具有唯一性,故其他设备复制得到加密信息后,无法通过反向解密还原初始数据的存储顺序,进而无法将加密数据还原回初始数据。
20.综上所述,若其他设备想要解密复制得到的加密数据,一是需要解密加密数据本身,二是需要通过解密还原初始数据的存储顺序,解密难度大大升高,以此解决了芯片内存储的数据易发生泄密这一问题。
21.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
22.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
23.图1是根据本技术所涉及的实施环境的示意图;
24.图2是根据一示例性实施例示出的一种芯片的硬件结构框图;
25.图3是根据一示例性实施例示出的一种实现芯片中数据的保护方法的流程图;
26.图4是图3对应实施例中步骤310在一个实施例的流程图;
27.图5是图3对应实施例中步骤330在一个实施例的流程图;
28.图6是图3对应实施例中步骤350在一个实施例的流程图;
29.图7是根据一示例性实施例示出的一种实现芯片中数据的保护装置的硬件结构框图。
具体实施方式
30.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
31.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
32.下面是对本技术涉及的几个名词进行的介绍和解释:
33.sn,英文全称为serial number,中文含义为产品序列号,也可以理解为唯一识别码。
34.通常情况下,芯片中存储的数据是在传输过程中进行加密的,发送方对芯片中存储的初始数据加密后,将加密的数据发送至接收方,接收方再对加密的数据进行解密,得到初始数据。
35.在这种数据加密手段下,极易出现数据泄密的问题,一方面,加密的数据在传输的过程中易被解密;另一方面,芯片中的初始数据容易被复制。
36.为此,本技术提供的实现芯片中数据的保护方法,对芯片内的初始数据进行加密处理,能够有效地提升芯片内数据的安全性,保护芯片内存储的初始数据,防止发生泄密。相应地,该实现芯片中数据的保护方法适用于实现芯片中数据的保护装置,该实现芯片中数据的保护装置可以部署配置在集成电路芯片内,例如,该集成电路芯片可以是微控制单元(microcontroller unit,mcu)、中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)、专用集成电路(application specific integrated circuit,asic)等。
37.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
38.图1为一种实现芯片中数据的保护方法所涉及的实施环境的示意图。该实施环境包括若干电子设备,该些电子设备包括:复制方110、发送方130和接收方150。
39.需要说明的是,上述电子设备可以是相同类型的,也可以是不同类型的,包括但不限于是:手机、计算机设备或携带单片机的移动设备。
40.在该实施环境中,电子设备之间可以通过有线或者无线的方式建立通信连接,该通信连接是电子设备之间进行数据传输的通道,以通过该通信连接实现各电子设备之间的数据传输。
41.在图示实施环境中,发送方130先读取初始数据,对初始数据进行加密处理后,得到加密数据,再通过与芯片标识信息相关的加密处理得到写地址,将加密数据写入存储区,同时,删除与加密数据对应的初始数据。
42.写地址决定了加密数据写入存储区的位置,与初始数据对比,加密数据存储顺序
发生了改变。复制方110复制得到了发送方130的加密数据,由于复制方110与发送方130的芯片不同,芯片标识信息也不同,因此复制方110即便将加密数据解密还原为初始数据,也无法还原初始数据的存储顺序,进而无法在复制方110使用复制得到的加密数据。
43.发送方130进行数据传输时,首先需要通过内部解密将加密数据还原为初始数据,再将该初始数据发送至接收方130。发送方130可以有两种数据传输方式,一是将初始数据直接发送至接收方130,接收方130接收到初始数据后不需要经过处理即可使用;二是对初始数据进行加密处理,得到二次加密数据,再发送至接收方130,接收方130接收到该二次加密数据后通过对应的解密处理方式便能够获取并使用初始数据。
44.图2为一示例性实施例中,一种芯片的硬件结构框图,该芯片可以执行实现芯片中数据的保护方法。
45.需要说明的是,该芯片只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该种芯片也不能解释为需要依赖于或者必须具有图2中示出的示例性的芯片200中的一个或者多个组件,并且也不能认为该种芯片仅含有图2中示出的示例性的芯片200中组件。芯片200的硬件结构可因配置或者性能的不同而产生较大的差异,如图2所示,芯片200包括:数据读取模块210、写地址获取模块230、数据存储模块250和存储器270。
46.具体地,数据读取模块210用于获取读地址,根据读地址读取芯片内第一存储区271的初始数据。
47.在一示例性实施例中,数据读取模块210还包含但不限于随机数生成单元211、数据读取单元213。
48.其中,随机数生成单元211用于随机生成第一随机数,将第一随机数作为读地址;数据读取单元213用于根据读地址,从第一存储区271中读取初始数据,并将初始数据发送给写地址获取模块230和数据存储模块250。
49.写地址获取模块230用于进行与芯片标识信息相关的加密处理,得到写地址。
50.在一示例性实施例中,写地址获取模块230还包含但不限于随机数生成单元231和加密处理单元233。
51.其中,随机数生产单元231用于生成第二随机数,将第二随机数输入加密处理单元233;加密处理单元233用于对芯片标识信息、数据读取模块210发送的初始数据和第二随机数进行加密处理,获得写地址,并将写地址发送到数据存储模块250。
52.数据存储模块250用于根据写地址,将初始数据加密处理后生成的加密数据,写入芯片的第二存储区273中。
53.在一示例性实施例中,数据存储模块250还包含但不限于加密处理单元251和数据写入单元253;其中,加密处理单元251接收数据获取模块210发送的初始数据后,对初始数据进行加密处理,得到加密数据,并将加密数据发送到数据写入单元253;数据写入单元253接收加密处理单元251发送的加密数据后,根据从写地址获取模块230接收到的写地址,将加密数据写入第二存储区273对应地址位。
54.存储器270作为芯片200中存储数据的载体,内部按照预先设定的划分规则,划分为第一存储区271和第二存储区273。其中,第一存储区271为明文存储区,其内部存储的数据类型是初始数据;第二存储区273为密文储存区,其内部存储的数据是经过加密处理得到
access control address)等。
74.步骤350,根据写地址,将初始数据加密处理后生成的加密数据,写入芯片的第二存储区中。
75.需要说明的是,前述步骤中提到的加密处理,可以通过加密算法实现。加密算法包括但不限于:信息-摘要算法5(message-digest algorithm 5,md5)、安全散列算法(secure hash algorithm,sha)、美国数据加密标准(data encryption standard,des)、高级加密标准(advanced encryption standard,aes)、res加密算法(rsa algorithm)等。
76.进一步需要说明的是,为了加强数据的安全性,需要保护的初始数据在进行加密处理后写入第二存储区后,可以擦除第一存储区内对应于该加密数据的初始数据,防止存储在第一存储区内的初始数据泄密。
77.通过上述过程,芯片先读取第一存储区内的初始数据,对初始数据加密处理后获得加密数据,再通过与芯片标识信息相关的加密处理得到写地址,根据该写地址将加密数据写入第二存储区。由上可知,写地址决定了加密数据写入第二存储区的位置,故第二存储区的加密数据与第一存储区的初始数据相比,数据存储顺序也发生了改变。又因为写地址的生成与芯片标识信息相关,芯片标识信息具有唯一性,故其他设备复制得到加密信息后,无法通过反向解密还原初始数据的存储顺序,进而无法将加密数据还原回初始数据。综上所述,该保护方法可以防止在芯片中存储的数据发生数据泄密,提高了数据安全性。
78.请参阅图4,在一示例性实施例中,步骤310可以包含以下步骤:
79.步骤311,随机生成第一随机数,将第一随机数作为读地址。
80.在一种可能的实现方式,随机数可以使用算法生成,生成算法可以有:平方取中法(midsquare method)、线性同余发生器算法(linear congruential generator,lcg)或梅森旋转算法(mersenne twister,mt)。
81.在一种可能的实现方式,随机数可以使用随机数发生器、随机数发生电路等生成。
82.步骤313,根据读地址,从第一存储区中读取初始数据。
83.举例来说,在第一存储区内不同存储位置存储的初始数据是abcde,例如,初始数据a通过地址0存储于第一存储区中对应于该地址0的存储位置,若顺序读取,则读地址依次为0、1、
……
、4,相应地,芯片读取出来的初始数据仍然为abced,而本实施例中,由于使用随机数作为读地址,读地址可能为0、2、1、4、3,相应地,芯片读取出来的初始数据可能变为了acbed。此种方式下,读取到的数据相较于第一存储区中存储的数据而言,存储顺序不同。
84.在上述实施例的作用下,通过随机数生成读地址,实现了随机读取第一存储区内任意存储位置的初始数据,当其它设备还原初始数据的存储顺序时,无法确定该随机数的具体数值,也无法确定初始数据在第一存储区的存储位置,从而无法还原初始数据的存储顺序。由上可知,该保护方法可以防止其它设备还原初始数据的存储顺序,进一步保护芯片内存储数据的安全,防止其它设备复制后通过解密还原。
85.请参阅图5,在一示例性实施例中,步骤330可以包含以下步骤:
86.步骤331,获取芯片标识信息,并随机生成第二随机数。
87.在一种可能的实现方式,随机数可以使用算法生成,生成算法可以有:平方取中法(midsquare method)、线性同余发生器算法(linear congruential generator,lcg)或梅森旋转算法(mersenne twister,mt)。
88.在一种可能的实现方式,随机数可以使用随机数发生器、随机数发生电路等生成。
89.值得一提的是,本实施例中,第二随机数区别于第一随机数,当然,在其他实施例中,第二随机数可以与第一随机数相同,此处并非构成具体限定。
90.本实施例中,芯片标识信息为芯片的产品序列号。
91.步骤333,对芯片标识信息、第二随机数和初始数据进行加密处理,生成写地址。
92.需要说明的是,步骤333中提到的加密处理,可以通过加密算法实现。加密算法包括但不限于:md5、sha、des、aes、res加密算法等。
93.在得到写地址之后,便能够基于该写地址,将初始数据加密处理后生成的加密数据,写入芯片的第二存储区中。
94.在上述实施例的作用下,如果要对经过加密处理生成的写地址进行解密处理,需要获取芯片标识信息,由于每一片芯片对应的芯片标识信息都是唯一的,其它设备无法根据自身的芯片标识信息解密其它设备加密生成的写地址。既然无法解密写地址,就无法得知复制得来的加密数据在第二存储区中的存储顺序,进而无法反向解密加密数据,保护数据安全。
95.请参阅图6,在一示例性实施例中,步骤350可以包含以下步骤:
96.步骤351,对初始数据进行加密处理,得到加密数据。
97.需要说明的是,步骤351中提到的加密处理,可以通过加密算法实现。加密算法包括但不限于:md5、sha、des、aes、res加密算法等。
98.值得一提的是,前述步骤中涉及的加密处理,例如,对初始数据的加密处理、与芯片标识信息相关的加密处理,可以相同,也可以不同,此处并未进行限定。
99.步骤353,将加密数据,存储到第二存储区中对应于写地址的存储位置。
100.举例来说,对初始数据加密处理得到加密数据为acbed,例如,加密数据a通过地址0存储于第二存储区中对应于该地址0的存储位置,若顺序写入,则写地址依次为0、1、
……
、4,相应地,存储于第二存储区内的加密数据仍然为acbed,而本实施例中,由于写地址经加密处理,实质上也是随机写入,例如,写地址可能为0、3、4、2、1,相应地,通过写地址写入第二存储区内的加密数据可能变为了adecb。此种方式下,第二存储区中存储的数据相较于加密数据而言,存储顺序也不同。
101.在上述实施例的作用下,初始数据经过加密后根据写地址写入第二存储区,在该过程中,第二存储区内存储的加密数据相当于进行了双重加密,第一重是对数据本身的加密,第二重是数据存储顺序的加密。在此加密处理下,若其它设备复制了该加密数据,即便解开了第一重加密,由于芯片标识信息的唯一性,其它设备无法通过反向解密还原初始数据的存储顺序,进而无法解开第二重加密,将加密数据还原回初始数据。综上所述,对初始数据进行两重加密的保护方法,增加了其它设备解密难度,进一步保护了芯片内存储数据的安全。
102.下述为本技术装置实施例,可以用于执行本技术所涉及的实现芯片中数据的保护方法。对于本技术装置实施例中未披露的细节,请参照本技术所涉及的实现芯片中数据的保护方法的方法实施例。
103.图7是一种实现芯片中数据的保护装置的结构框图。
104.如图7所示,实现芯片中数据的保护装置200包括:数据读取模块210、写地址获取
模块230、数据存储模块250。
105.具体地,数据读取模块210,用于获取读地址,根据读地址读取芯片内第一存储区的初始数据。
106.写地址获取模块230,用于进行与芯片标识信息相关的加密处理,得到写地址。
107.数据存储模块250,用于根据写地址,将初始数据加密处理后生成的加密数据,写入芯片的第二存储区中。
108.在一示例性实施例中,数据读取模块,包括:随机数生成单元,用于随机生成第一随机数,将第一随机数作为读地址;数据读取单元,用于根据读地址,从第一存储区中读取初始数据。
109.在一示例性实施例中,写地址获取模块,包括:随机数生成单元,用于随机生成第二随机数;加密处理单元,用于对芯片标识信息、第二随机数和初始数据进行加密处理,生成写地址。
110.在一示例性实施例中,数据写入模块,包括:加密处理单元,用于对初始数据进行加密处理,得到加密数据;存储单元,用于根据写地址,将初始数据的加密数据,写入芯片内的第二存储区。
111.在一示例性实施例中,第一存储区为明文储存区,第二存储区为密文存储区,装置还包括:存储区划分模块,用于根据设定的划分规则,对芯片内的存储区进行划分,得到用于存储初始数据的明文存储区、以及用于存储加密数据的密文存储区。
112.在一示例性实施例中,芯片标识信息是芯片的产品序列号。
113.需要说明的是,上述实施例所提供的实现芯片中数据的保护装置在进行数据保护时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即实现芯片中数据的保护装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
114.另外,上述实施例所提供的实现芯片中数据的保护装置与实现芯片中数据的保护方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
115.与相关技术相比,本发明先读取第一存储区内的初始数据,对初始数据加密处理后获得加密数据,再通过与芯片标识信息相关的加密处理得到写地址,根据该写地址将加密数据写入第二存储区。由上可知,写地址决定了加密数据写入第二存储区的位置,故第二存储区的加密数据与第一存储区的初始数据相比,数据存储顺序也发生了改变。又因为写地址的生成与芯片标识信息相关,芯片标识信息具有唯一性,故其他设备复制得到加密信息后,无法通过反向解密还原初始数据的存储顺序,进而无法将加密数据还原回初始数据。综上所述,该保护方法可以防止在芯片中存储的数据发生数据泄密,提高了数据安全性。
116.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
117.以上仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1