CN114662135A - 数据访问方法、计算机设备及可读存储介质 - Google Patents
数据访问方法、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN114662135A CN114662135A CN202210543254.2A CN202210543254A CN114662135A CN 114662135 A CN114662135 A CN 114662135A CN 202210543254 A CN202210543254 A CN 202210543254A CN 114662135 A CN114662135 A CN 114662135A
- Authority
- CN
- China
- Prior art keywords
- key
- information
- encryption key
- storage area
- burning
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据访问方法、计算机设备及可读存储介质,所述数据访问方法包括:从芯片中采集基础信息;根据所述基础信息,构建加密密钥的密钥信息;在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥,其中,所述密钥存储区域为只允许写入一次且不允许软件进行更改的存储区域,所述密钥存储区域中存储的数据对应用和服务不可见;响应于数据访问请求,通过预设访问控制硬件获取密钥存储区域中的加密密钥,并利用所述加密密钥访问目标数据。本申请提供的数据访问方案可以在不提高芯片成本的同时,提高数据访问的安全性。
Description
技术领域
本申请涉及芯片技术领域,具体涉及一种数据访问方法、计算机设备及可读存储介质。
背景技术
随着微控制器芯片(Micro Control Unit,MCU)的发展,MCU的安全问题日益受到重视。为了保障芯片信息安全,目前的作法是利用根密钥对芯片进行保护,如果根密钥被窃取,那么整个芯片都将进入不可信的状态,从而导致基于此系统的应用程序与上层安全机制都是不可信的。
在传统的数据安全系统中,密钥有两种存在形式,一种是以应用软件的形式存在,存放在数据安全系统的程序存储器中;另一种是找一款通用的存储芯片当作密钥存储器,用来存放密钥。前者安全性差,后者成本代价高。
发明内容
针对上述技术问题,本申请提供一种数据访问方法、计算机设备及可读存储介质,在不提高芯片成本的同时,提高数据访问的安全性。
为解决上述技术问题,本申请提供一种数据访问方法,包括:
从芯片中采集基础信息;
根据所述基础信息,构建加密密钥的密钥信息;
在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥,其中,所述密钥存储区域为只允许写入一次且不允许软件进行更改的存储区域,所述密钥存储区域中存储的数据对应用和服务不可见;
响应于数据访问请求,通过预设访问控制硬件获取密钥存储区域中的加密密钥,并利用所述加密密钥访问目标数据。
可选的,在本申请的一些实施例中,所述在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥,包括:
识别所述密钥信息的信息类型;
当所述信息类型为第一类型时,则采用第一烧录策略在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥;
当所述信息类型为第二类型时,则采用第二烧录策略在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥。
可选的,在本申请的一些实施例中,所述采用第一烧录策略在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥,包括:
计算所述密钥信息对应的摘要值;
基于所述摘要值在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥。
可选的,在本申请的一些实施例中,所述基于所述摘要值在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥,包括:
对所述摘要值进行截取处理,得到截取后摘要值;
在预设环境下将所述截取后摘要值与时间戳进行拼接,形成加密密钥。
可选的,在本申请的一些实施例中,所述在预设环境下将所述截取后摘要值与时间戳进行拼接,形成加密密钥,包括:
获取在预设周期内的访问次数;
当所述访问次数大于预设值时,在预设环境下将所述截取后摘要值与访问时间戳进行拼接,形成加密密钥。
可选的,在本申请的一些实施例中,所述采用第二烧录策略在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥,包括:
确定所述密钥信息对应的密钥值;
从真随机数发生器模块中获取真随机数;
在预设环境下,基于所述密钥值和真随机数形成加密密钥。
可选的,在本申请的一些实施例中,所述根据所述基础信息,构建加密密钥的密钥信息,包括:
从所述基础信息中提取预设位数的随机数;
根据提取的随机数,构建加密密钥的密钥信息。
可选的,在本申请的一些实施例中,所述根据所述基础信息,构建加密密钥的密钥信息,包括:
从所述基础信息中提取随机数和标识符;
拼接所述随机数和标识符,得到加密密钥的密钥信息。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
本申请还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
如上所述,本申请提供一种数据访问方法、计算机设备以及可读存储介质,从芯片中采集基础信息,根据所述基础信息,构建加密密钥的密钥信息,在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥,响应于数据访问请求,通过预设访问控制硬件获取密钥存储区域中的加密密钥,并利用所述加密密钥访问目标数据,其中,所述密钥存储区域为只允许写入一次且不允许软件进行更改的存储区域,所述密钥存储区域中存储的数据对应用和服务不可见。在本申请提供的数据访问方案中,加密密钥烧录至密钥存储区域后,无法通过软件的方式获取到密钥存储区域中的加密密钥,并且,本申请提供的数据访问方案没有增加新的硬件,因此,在不提高芯片成本的同时,提高加密密钥的安全性,从而提高数据访问的安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的数据访问方法的流程示意图;
图2是本申请提供的MCU的内部结构示意图;
图3是本申请提供的数据访问装置的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或者“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或者“单元”可以混合地使用。
以下对本申请涉及的实施例进行具体描述,需要说明的是,在本申请中对实施例的描述顺序不作为对实施例优先顺序的限定。
微控制单元(Microcontroller Unit,MCU) ,又称单片微型计算机(Single ChipMicrocomputer )或者单片机,是把中央处理器(Central Process Unit,CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
在MCU运行时,内部的CPU会从非易失性存储器取指令并执行,比如,从闪存(Flash)中读取指令并执行指令,为了保障保障芯片信息安全,传统方法中是将根密钥等敏感信息或启动文件核查值放入一次性可编程(One Time Program,OTP)区域内,因此,攻击者只需要发起针对flash的攻击,一旦成功即可完全窃取或破坏芯片敏感信息。
基于此,本申请提供一种数据访问方案,利用芯片中的基础信息,构建加密密钥的密钥信息,在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥,由此,可以在在flash外的形成对密钥和用户数据的第二道保护,增加了攻击成本,进而在不提高芯片成本的同时,提高数据访问的安全性。
本申请实施例提供一种数据访问装置,将加密密钥烧录至密钥存储区域后,无法通过软件的方式获取到密钥存储区域中的加密密钥,并且,本申请提供的数据访问方案没有增加新的硬件,因此,在不提高芯片成本的同时,提高加密密钥的安全性,从而提高数据访问的安全性。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
一种数据访问方法,包括:从芯片中采集基础信息,根据基础信息,构建加密密钥的密钥信息,在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥,响应于数据访问请求,通过预设访问控制硬件获取密钥存储区域中的加密密钥,并利用加密密钥访问目标数据。
请参阅图1,图1为本申请实施例提供的数据访问方法的流程示意图。该数数据访问方法的具体流程可以如下:
101、从芯片中采集基础信息。
其中,基础信息包括随机数和标识符,随机数包括伪随机数、密码学安全的伪随机数和真随机数,标识符可以用用户标识符或访问地址标识符,随机数的分类是基于随机性检验的标准确定的,随机数的随机性检验可以分为三个标准:
1)统计学伪随机性。统计学伪随机性指的是在给定的随机比特流样本中,1的数量大致等于0的数量,同理,“10”“01”“00”“11”四者数量大致相等。类似的标准被称为统计学随机性。满足这类要求的数字在人类“一眼看上去”是随机的。
2)密码学安全伪随机性。其定义为,给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分。
3)真随机性。其定义为随机样本不可重现。实际上只要给定边界条件,真随机数并不存在,可是如果产生一个真随机数样本的边界条件十分复杂且难以捕捉(比如计算机当地的本底辐射波动值),可以认为用这个方法演算出来了真随机数。
因此,伪随机数为满足条件1)的随机数;密码学安全的伪随机数为同时满足条件1)和条件2)的随机数,可以通过密码学安全伪随机数生成器计算得出;真随机数为同时满足三个条件的随机数。
可选地,在一些实施例中,本申请从芯片中的真随机数发生器模块(TRNG)中采集真随机数,以便后续进行加密。
102、根据基础信息,构建加密密钥的密钥信息。
例如,具体的,可以根据基础信息,按照密码散列函数标准构建加密密钥的密钥信息,其中,该密码标准可以为SM3标准和SM4标准,在SM3标准下,可以利用真随机数和标识符,构建加密密钥的密钥信息,即,可选地,在一些实施例中,步骤“根据基础信息,构建加密密钥的密钥信息”,具体可以包括:
(11)从基础信息中提取随机数和标识符;
(12)拼接随机数和标识符,得到加密密钥的密钥信息。
例如,可以基础信息中提取96位的标识符(如用户标识符)以及32位随机数,然后,将两者进行拼接,使之形成128比特的密钥信息。
而在SM4标准下,则规定密钥信息必须由随机数组成,因此,可选地,在一些实施例中,可以从基础信息中获取预设位数的随机数,以构建加密密钥的密钥信息,即,步骤“根据基础信息,构建加密密钥的密钥信息”,具体可以包括:
(21)从基础信息中提取预设位数的随机数;
(22)根据提取的随机数,构建加密密钥的密钥信息。
103、在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥。
其中,密钥存储区域为只允许写入一次且不允许软件进行更改的存储区域,密钥存储区域中存储的数据对应用和服务不可见,烧录是指利用烧录器将芯片中写入数据的过程,烧录器是一个把可编程的集成电路写上数据的工具,烧录器主要用于单片机或存储器之类的芯片的编程。
可选地,在一些实施例中,密钥存储区域可以为根密钥存储(EFUSE)模块,Efuse模块的特性是默认值存储的比特位都是0,可以通过编程将需要变更的比特位由0变更为1,一旦变更为1,就不能再改为0了,但没有改为0的比特位还可以通过编程将其改为l,即,该EFUSE模块采用一次性安全熔断烧录。
请参阅图2,图2是本申请提供的MCU的内部结构示意图,在图2中,SM2:国家密码局规定的一种椭圆曲线加密算法的硬件模块;SM3:国家密码局规定的一种256位消息摘要算法的硬件模块;SM4:国家密码局规定的一种128位对称加密算法的硬件模块;TRNG:真随机数发生器模块;EFUSE:一次性可编程的根密钥存储模块;ROM:只读内存;SRAM:一块SM2模块与系统程序共用的静态存储器,由图2可知,EFUSE模块存放一串根密钥,且总线不可访问,即不可被软件读取或写入,使用时,直接配置相关密码算法模块的寄存器位便可自动导入根密钥。根密钥存储模块部分是独立模块不可被总线访问,有专用通路链接到SM3/SM4算法模块。而SM3/SM4算法模块与TRNG模块同层次。在安全烧录时,有两种方案,一种是将TRNG的随机数全部烧录进根密钥存储模块,一种是将用户标识符与TRNG产生的随机数组合拼接后再烧录进根密钥存储模块。其中,本申请的预设环境为安全环境,该安全环境下,可以确保根密钥不被窃取。
可以理解的是,由于密钥信息可以根据真随机数构建得到,也可以根据真随机数和标识符构建得到的,因此,在进行烧录时,需要判断该密钥信息的类型,从而确定相应的烧录策略,即,可选地,在一些实施例中,步骤“在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥”,具体可以包括:
(31)识别密钥信息的信息类型;
(32)当信息类型为第一类型时,则采用第一烧录策略在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥;
(33)当信息类型为第二类型时,则采用第二烧录策略在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥。
比如,当识别到该密钥信息中包含真随机数和标识符时,则确定该密钥信息的信息类型为第一类型;当识别到该密钥信息中仅包含真随机数时,则确定该密钥信息的信息类型为第二类型。
可选地,在一些实施例中,当识别到该密钥信息中包含真随机数和标识符,则采用第一烧录策略将该密钥信息烧录至密钥存储区域中,比如,可以采用摘要算法计算密钥信息的摘要值,然后,基于该摘要值在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥,即,步骤“采用第二烧录策略在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥”,具体可以包括:
(41)计算密钥信息对应的摘要值;
(42)基于摘要值在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥。
其中,摘要算法又称哈希(Hash)算法,它表示输入任意长度的数据,数据固定长度的数据,摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,可以被解密逆向的只有CRC32算法,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。
可选地,在一些实施例中,可以采用MAC (Message Authentication Codes) 算法计算密钥信息对应的MAC值,MAC算法带秘密密钥的Hash函数:消息的散列值由只有通信双方知道的秘密密钥K来控制。此时Hash值称作MAC。
在得到MAC值后,可以将MAC值与时间戳进行拼接,从而得到加密密钥;然而,为了保证拼接后的数据位数等于预设位置,因此,可以对MAC值进行截取,最后,再将截取后MAC值与时间戳进行拼接,得到加密密钥,即,可选地,在一些实施例中,步骤“基于摘要值在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥”:
(51)对摘要值进行截取处理,得到截取后摘要值;
(52)在预设环境下将截取后摘要值与时间戳进行拼接,形成加密密钥。
可以理解的是,为了防止用户数据与签名密钥被恶意窃取,可以将Efuse模块中的值通过寄存器配置自动导入摘要算法模块中计算后得到摘要值,随后,将摘要值与时间戳结合起来得到加密密钥,该加密密钥可以结合对称加密算法模块,可以用来加密用户数据。
可选地,在即时通讯的场景下,用户在短时间内可能会发起大量的会话,因此,可以将截取后摘要值与时间戳进行拼接,形成加密密钥,即,步骤“在预设环境下将截取后摘要值与时间戳进行拼接,形成加密密钥”,具体可以包括:
(61)获取在预设周期内的访问次数;
(62)当访问次数大于预设值时,在预设环境下将截取后摘要值与访问时间戳进行拼接,形成加密密钥。
其中,预设值和预设周期是预先设定的,对于即时通讯场景而言,预设值可以是5次,预设周期可以为1分钟,因此,当在预设周期内的访问次数大于5次,在预设环境下将截取后摘要值与访问时间戳进行拼接,形成加密密钥。
可选地,在一些实施例中,当识别到该密钥信息中仅包含真随机数,可以确定密钥信息对应的密钥值,然后,获取预设私钥,随后,在预设环境下,基于密钥值和预设私钥形成加密密钥。
104、响应于数据访问请求,通过预设访问控制硬件获取密钥存储区域中的加密密钥,并利用加密密钥访问目标数据。
其中,数据的读取和保存方法需要根据数据的配置格式来确定,数据的读取程序在系统运行的任何时候都可以执行,只要知道数据在Flash的具体地址就行。不会影响可执行代码,可根据系统的实际需要进行设计,数据的保存需要对Fash进行擦除和编程,在进行擦除和写数据的时候,系统程序一般是不能正常运行的,因此FLASH数据的保存需要特殊处理,一般情况下是在系统关机的时候进行操作,操作结束后,可以选择关闭系统电源或者系统重新启动。
当接收到数据访问请求时,可以通过密钥管理单元获取密钥存储区域中的加密密钥,并利用加密密钥访问目标数据。
为了进一步理解本申请提供的数据访问方法,以下以不同场景进行具体说明。
场景一:某MCU原厂在一款通用MCU内部设计加密算法模块,预留给密钥存储和分发模块的资源有限,需要在控制成本的前提下提供可靠的密钥存储和分发方案。而加密模块中SM4算法的密钥需要128比特全随机,且用户的密钥需要掩盖存储。开启密钥管理模式后,SM4是用来加密用户密钥的,然后可以将用户密钥作为二阶密钥再去加密数据;或者对用户密钥进行保存,加密时,先解密二阶密钥得到原本的密钥后去加密数据。在密钥管理模式下大端输入数据,低位地址保存高位数据。
为了防止用户密钥被恶意窃取,需要对用户密钥进行加密和掩盖处理。掩盖处理后即使密钥泄露,也需要再获取根密钥,再用SM4算法解密后才能得到完整密钥。而根密钥存储在Efuse模块中,无法被任何软件获取,只能通过揭盖后用物理方法缓慢读取。这无疑大大增加的了破解用户密钥的难度与成本。
而用户在二次开发中,可以根据自己实际需要围绕Efuse模块增加掩蔽层、环境扰动量或传感器等装置进一步增强整个系统的安全等级。注意,而在根密钥烧录过程中,需要先从真随机数发生器提取128比特全随机数,然后安全烧录近Efuse模块后熔断,期间要确保安全烧录过程的保密性,防止泄露。
本申请提供了一个Efuse的安全熔断一次性写入密钥存储器,在现有的数据访问方案中,密钥是保存在Flash、软件应用层或者物理不可克隆函数(Physical UnclonableFunction,PUF)中的,PUF通常用于密码学。物理不可克隆函数是物理结构中体现的物理实体。目前,PUF通常用集成电路来实现,通常用于对安全性要求较高的应用中,相较于目前的方案,本方案的安全熔丝的成本极低,且只是小容量的,只用来保存根密钥,即使密钥被自动传送进算法模块的寄存器中,外界也无法通过访问寄存器的值得到密钥,可见,在不提高芯片成本的同时,提高加密密钥的安全性,从而提高数据访问的安全性。
场景二:某MCU原厂在一款通用MCU内部设计了摘要算法模块,而预留给密钥存储和更新的资源有限,需要在控制成本的前提下提供可靠的密钥更新和分发方案。安全烧录时,将96位UID与随机数拼接而成的值烧录进Efuse模块中。
这种情况下,为了防止用户数据与签名密钥被恶意窃取,可以将Efuse模块中的值通过寄存器配置自动导入摘要算法模块中计算后得到摘要的消息值。将消息值与时间戳结合起来得到一级会话密钥,用该密钥结合对称加密算法模块,可以用来加密用户数据。
会话密钥的迭代用时间戳加摘要算法计算的形式更新。这样做的好处是在频繁的信息交换中保证了实时性,不影响数据传输的速度。
由上可知,本申请提供一种数据访问方法,从芯片中采集基础信息后,根据基础信息,构建加密密钥的密钥信息,接着,在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥,响应于数据访问请求,通过预设访问控制硬件获取密钥存储区域中的加密密钥,并利用加密密钥访问目标数据,在本申请提供的数据访问方案中,加密密钥烧录至密钥存储区域后,无法通过软件的方式获取到密钥存储区域中的加密密钥,并且,本申请提供的数据访问方案没有增加新的硬件,因此,在不提高芯片成本的同时,提高加密密钥的安全性,从而提高数据访问的安全性。
为便于更好的实施本申请的数据访问方法,本申请还提供一种基于上述数据访问装置(简称访问装置)。其中名词的含义与上述数据访问方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图3,图3为本申请提供的数据访问装置的结构示意图,其中该处理装置可以包括采集模块201、构建模块202、烧录模块203以及访问模块204,具体可以如下:
采集模块201,用于从芯片中采集基础信息。
其中,基础信息包括随机数和标识符,随机数包括伪随机数、密码学安全的伪随机数和真随机数,标识符可以用用户标识符或访问地址标识符,随机数的分类是基于随机性检验的标准确定的。
构建模块202,用于根据基础信息,构建加密密钥的密钥信息。
例如,具体的,可以根据基础信息,按照SM3标准或SM4标准构建加密密钥的密钥信息。
可选地,在一些实施例中,构建模块202具体用于:从基础信息中提取随机数和标识符;拼接随机数和标识符,得到加密密钥的密钥信息。
可选地,在一些实施例中,构建模块202具体用于:从基础信息中提取预设位数的随机数;根据提取的随机数,构建加密密钥的密钥信息。
烧录模块203,用于在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥。
其中,密钥存储区域为只允许写入一次且不允许软件进行更改的存储区域,密钥存储区域中存储的数据对应用和服务不可见。
可选的,在一些实施例中,烧录模块203具体可以包括:
识别子模块,用于识别密钥信息的信息类型;
第一烧录子模块,用于当信息类型为第一类型时,则采用第一烧录策略在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥;
第二烧录子模块,用于当信息类型为第二类型时,则采用第二烧录策略在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥。
可选的,在一些实施例中,第一烧录子模块具体可以包括:
计算单元,用于计算密钥信息对应的摘要值;
烧录单元,用于基于摘要值在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥。
可选的,在一些实施例中,烧录单元具体可以包括:
截取子单元,用于对摘要值进行截取处理,得到截取后摘要值;
拼接单元,用于在预设环境下将截取后摘要值与时间戳进行拼接,形成加密密钥。
可选地,在一些实施例中,拼接单元具体可以用于:获取在预设周期内的访问次数;当访问次数大于预设值时,在预设环境下将截取后摘要值与访问时间戳进行拼接,形成加密密钥。
可选地,在一些实施例中,第二烧录子模块具体可以用于:确定密钥信息对应的密钥值;获取预设私钥;在预设环境下,基于密钥值和预设私钥形成加密密钥。
访问模块204,用于响应于数据访问请求,通过预设访问控制硬件获取密钥存储区域中的加密密钥,并利用加密密钥访问目标数据。
由上可知,本申请提供一种数据访问装置,采集模块201从芯片中采集基础信息后,构建模块202根据基础信息,构建加密密钥的密钥信息,接着,烧录模块203在预设环境下将密钥信息烧录至密钥存储区域中,形成加密密钥,访问模块204响应于数据访问请求,通过预设访问控制硬件获取密钥存储区域中的加密密钥,并利用加密密钥访问目标数据,在本申请提供的数据访问方案中,加密密钥烧录至密钥存储区域后,无法通过软件的方式获取到密钥存储区域中的加密密钥,并且,本申请提供的数据访问方案没有增加新的硬件,因此,在不提高芯片成本的同时,提高加密密钥的安全性,从而提高数据访问的安全性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种数据访问方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种数据检测方法中的步骤,因此,可以实现本申请实施例所提供的任一种数据访问方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本申请实施例还提供一种芯片,包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行计算机程序,使得安装有芯片的设备执行如上各种可能的实施方式中的方法。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例设备中的单元可以根据实际需要进行合并、划分和删减。
在本申请中,对于相同或相似的术语概念、技术方案和/或应用场景描述,一般只在第一次出现时进行详细描述,后面再重复出现时,为了简洁,一般未再重复阐述,在理解本申请技术方案等内容时,对于在后未详细描述的相同或相似的术语概念、技术方案和/或应用场景描述等,可以参考其之前的相关详细描述。
在本申请中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本申请技术方案的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本申请记载的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络,或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD),或者半导体介质(例如固态存储盘Solid State Disk (SSD))等。
以上对本申请实施例所提供的一种数据访问方法、数据访问设备以及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据访问方法,其特征在于,包括:
从芯片中采集基础信息;
根据所述基础信息,构建加密密钥的密钥信息;
在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥,其中,所述密钥存储区域为只允许写入一次且不允许软件进行更改的存储区域,所述密钥存储区域中存储的数据对应用和服务不可见;
响应于数据访问请求,通过预设访问控制硬件获取密钥存储区域中的加密密钥,并利用所述加密密钥访问目标数据。
2.根据权利要求1所述的方法,其特征在于,所述在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥,包括:
识别所述密钥信息的信息类型;
当所述信息类型为第一类型时,则采用第一烧录策略在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥;
当所述信息类型为第二类型时,则采用第二烧录策略在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥。
3.根据权利要求2所述的方法,其特征在于,所述采用第一烧录策略在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥,包括:
计算所述密钥信息对应的摘要值;
基于所述摘要值在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥。
4.根据权利要求3所述的方法,其特征在于,所述基于所述摘要值在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥,包括:
对所述摘要值进行截取处理,得到截取后摘要值;
在预设环境下将所述截取后摘要值与时间戳进行拼接,形成加密密钥。
5.根据权利要求4所述的方法,其特征在于,所述在预设环境下将所述截取后摘要值与时间戳进行拼接,形成加密密钥,包括:
获取在预设周期内的访问次数;
当所述访问次数大于预设值时,在预设环境下将所述截取后摘要值与访问时间戳进行拼接,形成加密密钥。
6.根据权利要求2所述的方法,其特征在于,所述采用第二烧录策略在预设环境下将所述密钥信息烧录至密钥存储区域中,形成加密密钥,包括:
确定所述密钥信息对应的密钥值;
从真随机数发生器模块中获取真随机数;
在预设环境下,基于所述密钥值和真随机数形成加密密钥。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述根据所述基础信息,构建加密密钥的密钥信息,包括:
从所述基础信息中提取预设位数的随机数;
根据提取的随机数,构建加密密钥的密钥信息。
8.根据权利要求1至6任一项所述的方法,其特征在于,所述根据所述基础信息,构建加密密钥的密钥信息,包括:
从所述基础信息中提取随机数和标识符;
拼接所述随机数和标识符,得到加密密钥的密钥信息。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述数据访问方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述数据访问方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210543254.2A CN114662135A (zh) | 2022-05-19 | 2022-05-19 | 数据访问方法、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210543254.2A CN114662135A (zh) | 2022-05-19 | 2022-05-19 | 数据访问方法、计算机设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114662135A true CN114662135A (zh) | 2022-06-24 |
Family
ID=82036493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210543254.2A Pending CN114662135A (zh) | 2022-05-19 | 2022-05-19 | 数据访问方法、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114662135A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987589A (zh) * | 2022-12-14 | 2023-04-18 | 深圳市富临通实业股份有限公司 | 一种防止mcu内部程序被复制的方法 |
CN116305221A (zh) * | 2023-05-18 | 2023-06-23 | 深圳曦华科技有限公司 | 图像处理芯片系统的加密方法及相关装置 |
CN118199938A (zh) * | 2024-03-01 | 2024-06-14 | 中国华能集团有限公司北京招标分公司 | 一种基于硬件密钥的隔离保护方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101124767A (zh) * | 2004-12-22 | 2008-02-13 | 皇家飞利浦电子股份有限公司 | 密钥生成以及证明真实性的方法和设备 |
US8386797B1 (en) * | 2002-08-07 | 2013-02-26 | Nvidia Corporation | System and method for transparent disk encryption |
CN106301774A (zh) * | 2015-05-29 | 2017-01-04 | 联芯科技有限公司 | 安全芯片、其加密秘钥生成方法和加密方法 |
CN108063756A (zh) * | 2017-11-21 | 2018-05-22 | 阿里巴巴集团控股有限公司 | 一种密钥管理方法、装置及设备 |
CN108959982A (zh) * | 2018-07-06 | 2018-12-07 | 江苏北弓智能科技有限公司 | 一种基于硬件加密tf卡的移动终端文件加解密系统及方法 |
CN110430051A (zh) * | 2019-08-01 | 2019-11-08 | 北京永新视博数字电视技术有限公司 | 一种密钥存储方法、装置及服务器 |
CN210578594U (zh) * | 2019-09-03 | 2020-05-19 | 中国南方电网有限责任公司 | 电力设备安全密钥卡和系统 |
CN111737770A (zh) * | 2020-05-29 | 2020-10-02 | 宁波三星医疗电气股份有限公司 | 一种密钥管理方法及应用 |
CN112257121A (zh) * | 2020-10-20 | 2021-01-22 | 湖南国科微电子股份有限公司 | 加密方法、解密方法、电子设备和存储介质 |
-
2022
- 2022-05-19 CN CN202210543254.2A patent/CN114662135A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8386797B1 (en) * | 2002-08-07 | 2013-02-26 | Nvidia Corporation | System and method for transparent disk encryption |
CN101124767A (zh) * | 2004-12-22 | 2008-02-13 | 皇家飞利浦电子股份有限公司 | 密钥生成以及证明真实性的方法和设备 |
CN106301774A (zh) * | 2015-05-29 | 2017-01-04 | 联芯科技有限公司 | 安全芯片、其加密秘钥生成方法和加密方法 |
CN108063756A (zh) * | 2017-11-21 | 2018-05-22 | 阿里巴巴集团控股有限公司 | 一种密钥管理方法、装置及设备 |
CN108959982A (zh) * | 2018-07-06 | 2018-12-07 | 江苏北弓智能科技有限公司 | 一种基于硬件加密tf卡的移动终端文件加解密系统及方法 |
CN110430051A (zh) * | 2019-08-01 | 2019-11-08 | 北京永新视博数字电视技术有限公司 | 一种密钥存储方法、装置及服务器 |
CN210578594U (zh) * | 2019-09-03 | 2020-05-19 | 中国南方电网有限责任公司 | 电力设备安全密钥卡和系统 |
CN111737770A (zh) * | 2020-05-29 | 2020-10-02 | 宁波三星医疗电气股份有限公司 | 一种密钥管理方法及应用 |
CN112257121A (zh) * | 2020-10-20 | 2021-01-22 | 湖南国科微电子股份有限公司 | 加密方法、解密方法、电子设备和存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987589A (zh) * | 2022-12-14 | 2023-04-18 | 深圳市富临通实业股份有限公司 | 一种防止mcu内部程序被复制的方法 |
CN115987589B (zh) * | 2022-12-14 | 2023-08-29 | 深圳市富临通实业股份有限公司 | 一种防止mcu内部程序被复制的方法 |
CN116305221A (zh) * | 2023-05-18 | 2023-06-23 | 深圳曦华科技有限公司 | 图像处理芯片系统的加密方法及相关装置 |
CN116305221B (zh) * | 2023-05-18 | 2023-08-29 | 深圳曦华科技有限公司 | 图像处理芯片系统的加密方法及相关装置 |
CN118199938A (zh) * | 2024-03-01 | 2024-06-14 | 中国华能集团有限公司北京招标分公司 | 一种基于硬件密钥的隔离保护方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113240519B (zh) | 基于区块链的智能合约管理方法及装置、电子设备 | |
JP6275653B2 (ja) | データ保護方法及びシステム | |
US8484486B2 (en) | Integrated cryptographic security module for a network node | |
Wang et al. | EIDM: A ethereum-based cloud user identity management protocol | |
CN114662135A (zh) | 数据访问方法、计算机设备及可读存储介质 | |
CN202795383U (zh) | 一种保护数据的设备和系统 | |
WO2021114891A1 (zh) | 密钥加密方法、解密方法及数据加密方法、解密方法 | |
WO2020192406A1 (zh) | 数据存储、验证方法及装置 | |
US20170366527A1 (en) | Method and System for an Efficient Shared-Derived Secret Provisioning Mechanism | |
KR20140099126A (ko) | 소프트웨어를 보안하기 위하여 해시 함수를 이용한 소프트웨어 처리 방법, 그 장치 및 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 | |
CN105915502A (zh) | 利于网络加入的方法和系统 | |
JP2018500823A (ja) | 装置鍵保護 | |
CN113014444A (zh) | 一种物联网设备生产测试系统及安全保护方法 | |
CN113591121B (zh) | 一种资源访问权限的配置方法、装置、设备和存储介质 | |
CN113395406A (zh) | 一种基于电力设备指纹的加密认证方法及系统 | |
CN109302442B (zh) | 一种数据存储证明方法及相关设备 | |
CN114528603B (zh) | 嵌入式系统的隔离动态保护方法、装置、设备和存储介质 | |
CN107135074A (zh) | 一种高级安全方法和装置 | |
CN116305330B (zh) | 一种cpu硬件的安全管理方法 | |
Mao et al. | Development of authentication protocols: Some misconceptions and a new approach | |
CN115062330A (zh) | 基于tpm的智能密码钥匙密码应用接口的实现方法 | |
CN114462088A (zh) | 用于对共享数据进行去标识的方法及装置 | |
CN108449753B (zh) | 一种手机设备读取可信计算环境中的数据的方法 | |
CN119004490B (zh) | 用于硬件安全系统的二次加密启动方法、装置、设备 | |
EP3930254B1 (en) | Method for setting permissions for cryptographic keys, computer program and cryptographic processing system |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220624 |
|
RJ01 | Rejection of invention patent application after publication |