[0004] 本发明的目的是提供一种多级别安全存储芯片构架。针对根据嵌入式系统中对存储程序与数据的保密性要求的不同,本发明的存储芯片构架提供不同的安全存储模式,提高对存储数据有不同保密要求的嵌入式系统的工作效率。
[0005] 本发明的存储芯片构架包括微控制单元和存储模块。
[0006] 所述的微控制单元为一块MCU芯片,包括接入认证模块与数据加/解密单元。
[0007] 所述存储模块包括两块片外Flash存储芯片,其中一块作为普通存储区,另一块作为安全存储区;普通存储区按照地址分为公共区和验证区。
[0008] 微控制单元与存储模块采用SPI总线连接,外围设备经过GPIO总线由微控制单元处理向所述存储模块读取与写入数据的请求,不能与所述存储模块直接通信,保证存储芯片内的数据安全。
[0009] 采用SIP堆叠封装方法,将MCU芯片、片外Flash存储芯片以及电路相应的无源元器件封装在一个封装体内,形成一个具有多模式存储功能的安全存储系统,作为嵌入式安全存储芯片使用。这种封装设计使得芯片的开发周期短、生产成本低,且相对于PCB板电路具有更大的集成规模,有效缩小了系统的体积。每块安全存储芯片都烧录有不相同的设备码,每段设备码都具有对应的公私密钥,所述的公私密钥储存在微控制单元的寄存器中,将所述设备码通过Hash函数运算生成固定长度的消息摘要储存在微控制单元的寄存器中。生成消息摘要所使用的Hash函数算法包括MD5、SHA算法。
[0010] 所述的安全存储芯片的读写模式按照安全等级由低到高分为三种模式:普通模式、认证模式和密文模式。三种模式具有相应的命令请求格式,用户根据具体的需要选择合适的模式来进行数据的读取与写入。进行读写操作前,外围设备与安全存储芯片建立通信连接,使安全存储芯片进入工作状态。
[0011] 普通模式:适用于没有保密性要求的数据的读写,读取与写入的命令请求的格式包括读/写指令、模式字节和数据地址字节。外围设备发送命令请求至安全存储芯片,安全存储芯片根据命令请求中的读/写指令进行相应操作。
[0012] 进行写入操作时,外围设备发送需要写入的数据至微控制单元,微控制单元根据数据地址字节,将需要写入的数据传输至作为普通存储区的片外Flash存储芯片的公共区;进行读取操作时,微控制单元根据数据地址字节从作为普通存储区的片外Flash存储芯片的公共区提取要读取的数据,然后将数据传输至外围设备。在信息交互的过程中不会对数据进行加密。也不会在设备进行连接之后再次进行认证。
[0013] 认证模式:适用于低保密性要求的数据的读写,数据以密文的形式储存在作为普通存储区的片外Flash存储芯片的验证区,读取与写入的命令请求的格式包括读/写指令、模式字节、认证字节、数据地址字节。
[0014] 外围设备发送命令请求至安全存储芯片,安全存储芯片首先通过微控制单元中的接入认证模块将消息摘要同认证字节进行比对:若比对结果一致则进入读/写操作;进行写入操作时,外围设备发送需要写入的数据至微控制单元,微控制单元中的加/解密单元采用对称加密模式算法将数据加密处理,然后微控制单元根据数据地址字节将加密后的数据传输至作为普通存储区的片外Flash存储芯片的验证区;进行读取操作时,微控制单元根据数据地址字节从作为普通存储区的片外Flash存储芯片的验证区提取要读取的数据,通过加/解密单元将提取的数据进行解密操作,然后将解密后的数据传输至外围设备;若比对结果不一致则拒绝读/写操作。
[0015] 认证字节使用的是设备码的Hash函数算法值,即使泄露对方也不会得到芯片的设备码。保证了认证模式的安全性。
[0016] 密文模式:适用于高保密性要求的数据的读写,数据信息以密文的方式存储在作为安全存储区的片外Flash存储芯片,读取与写入的命令请求为密文模式的指令格式,包括:读/写指令、模式字节、认证字节、数据地址字节。
[0017] 外围设备发送命令请求至安全存储芯片,首先通过微控制单元中的接入认证模块将消息摘要同认证字节进行比对:若比对结果一致则进入读/写操作;进行写入操作时,外围设备发送需要写入的数据至微控制单元,微控制单元中的加/解密单元将使用公钥对数据进行加密处理,然后微控制单元根据数据地址字节将加密后的数据传输至作为安全存储区的片外Flash存储芯片;进行读取操作时,微控制单元根据数据地址字节从作为安全存储区的片外Flash存储芯片提取要读取的数据传输至外围设备,外围设备通过授权得到私钥,然后利用私钥对读取的数据进行解密。
[0018] 对于非法的外围设备得到的只是加密后的无序数据,由于没有私钥,将无法得到真正的明文数据。
[0019] 本发明有益效果:本发明将多种加密模式集合于同一芯片中,用户可以根据存储数据不同的保密要求来发送不同格式指令来进行读写操作。避免了在单一的安全存储芯片中一些无需加密的公开数据也要经过加密过程或认证流程,增强了数据读/写效率。