CN110545172A - 控制器安全开卡方法及装置 - Google Patents

控制器安全开卡方法及装置 Download PDF

Info

Publication number
CN110545172A
CN110545172A CN201910582390.0A CN201910582390A CN110545172A CN 110545172 A CN110545172 A CN 110545172A CN 201910582390 A CN201910582390 A CN 201910582390A CN 110545172 A CN110545172 A CN 110545172A
Authority
CN
China
Prior art keywords
mploader
data
card
header
file
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.)
Granted
Application number
CN201910582390.0A
Other languages
English (en)
Other versions
CN110545172B (zh
Inventor
杨志佳
周强
其他发明人请求不公开姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Memory Technology (shenzhen) Co Ltd
Suzhou Industrial Park Memory Technology Co Ltd
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Memory Technology (shenzhen) Co Ltd
Suzhou Industrial Park Memory Technology Co Ltd
Shenzhen Union Memory Information System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Memory Technology (shenzhen) Co Ltd, Suzhou Industrial Park Memory Technology Co Ltd, Shenzhen Union Memory Information System Co Ltd filed Critical Memory Technology (shenzhen) Co Ltd
Priority to CN201910582390.0A priority Critical patent/CN110545172B/zh
Publication of CN110545172A publication Critical patent/CN110545172A/zh
Application granted granted Critical
Publication of CN110545172B publication Critical patent/CN110545172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种控制器安全开卡方法及装置,方法包括MPLoader数据加密过程,MPLoader数据加密过程包括以下步骤:生成一个随机数作为对称加密算法加密密钥;根据MPLoader数据计算得到CRC值和数据长度;将加密密钥,初始CRC值和数据长度写入Header,根据Header计算得到初始和值,并将初始和值写入Header;使用加密密钥对MPLoader数据进行对称加密,得到密文MPLoader;将Header和密文MPLoader拼接得到开卡文件。本方案使用对称加密算法对MPLoader数据进行加密,确保MPLoader的安全性;数据随机化处理的方式,确保Header中加密密钥和密文MPLoader的安全;同时减小了开卡文件写入NandFlash时数据发生比特翻转的概率,提高了开卡文件的安全性。

Description

控制器安全开卡方法及装置
技术领域
本发明涉及到固态硬盘控制器领域,特别是涉及到一种控制器安全开 卡方法及装置。
背景技术
固态硬盘控制器在首次上电时,都会经历开卡操作,此时固态硬盘控 制器bootrom工作在下载模式,开卡人员通过UART或者PCIE接口将开卡文 件下载至控制器缓存区域运行。开卡工程运行之后会进行扫描NandFlash坏 块表、烧写固件、烧写固件加载秘钥等操作,开卡文件中包含有秘钥等相 关重要信息,其重要性不言而喻。
目前,固态硬盘开卡流程如下所述:将Bootrom配置在下载模式;通过 Uart或PCIE接口下载开卡文件;控制器将运行指针跳转至开卡文件零地址; MPLoader运行。
现有方法存在以下缺陷:1.明文的开卡文件,安全性低,一旦开卡文件 丢失,开卡文件的安全便无法得到保证;2.控制器对于开卡文件没有可靠的 安全校验手段,控制器可运行非法代码,控制器的安全无法得到保证。
发明内容
为了解决上述现有技术的缺陷,本发明的目的是提供一种控制器安全 开卡方法及装置。
为达到上述目的,本发明的技术方案是:
一种控制器安全开卡方法,包括MPLoader数据加密过程,MPLoader 数据加密过程包括以下步骤:
生成一个随机数作为对称加密算法加密密钥;
根据MPLoader数据计算得到CRC值和数据长度;
将加密密钥,初始CRC值和数据长度写入Header,
根据Header计算得到初始和值,并将初始和值写入Header;
使用加密密钥对MPLoader数据进行对称加密,得到密文MPLoader;
将Header和密文MPLoader拼接得到开卡文件。
进一步地,所述将Header和密文MPLoader拼接得到开卡文件步骤之 后,还包括,
使用固定种子Key_Seed,对开卡文件做scramble扰码处理,将开卡文 件数据随机化。
进一步地,还包括开卡文件解密过程,开卡文件解密过程包括以下步 骤:
配置Bootrom,进入下载模式;
通过Uart或者PCIE接口下载开卡文件;
对开卡文件做解扰码处理;
获取解扰码后的Header的加密密钥;
使用加密密钥解密密文MPLoader,得到明文MPLoader。
进一步地,所述得到明文MPLoader步骤之后,包括,
根据Header计算得到验证和值;
比较验证和值和初始和值是否一致;
若一致,则计算MPLoader数据的验证CRC值;
比较验证CRC值与初始CRC值是否一致;
若一致,控制器将运行指针跳转至MPLoader零地址,运行MPLoader。
进一步地,所述对开卡文件做解扰码处理步骤,包括,
从打包工具中获取固定种子Key_Seed对开卡文件做解扰码,将开卡文 件数据去随机化。
本发明还提出了一种控制器安全开卡装置,包括:
密钥生成单元,用于生成一个随机数作为对称加密算法加密密钥;
第一计算单元,用于根据MPLoader数据计算得到CRC值和数据长度;
写入单元,用于将加密密钥,初始CRC值和数据长度写入Header,
第二计算单元,用于根据Header计算得到初始和值,并将初始和值写 入Header;
加密单元,用于加密密钥对MPLoader数据进行对称加密,得到密文 MPLoader;
拼接单元,用于将Header和密文MPLoader拼接得到开卡文件。
进一步地,还包括扰码单元,用于使用固定种子Key_Seed,对开卡文 件做scramble扰码处理,将开卡文件数据随机化。
进一步地,还包括:
下载配置单元,用于配置Bootrom,进入下载模式;
下载单元,用于通过Uart或者PCIE接口下载开卡文件;
解扰码单元,用于对开卡文件做解扰码处理;
密钥获取单元,用于获取解扰码后的Header的加密密钥;
解密单元,用于使用加密密钥解密密文MPLoader,得到明文MPLoader。
进一步地,还包括:
第三计算单元,用于根据Header计算得到验证和值;
第一比较单元,用于比较验证和值和初始和值是否一致;
第四计算单元,用于在验证和值和初始和值一致时,计算MPLoader 数据的验证CRC值;
第二比较单元,比较验证CRC值与初始CRC值是否一致;
跳转运行单元,在验证CRC值与初始CRC值一致时,控制器将运行 指针跳转至MPLoader零地址,运行MPLoader。
进一步地,所述解扰码单元包括,解扰码模块,用于从打包工具中获 取固定种子Key_Seed对开卡文件做解扰码,将开卡文件数据去随机化。
本发明的有益效果是:使用对称加密算法对MPLoader数据进行加密, 确保MPLoader的安全性;数据随机化处理的方式,确保Header中加密密钥 和密文MPLoader的安全;同时减小了开卡文件写入NandFlash时数据发生比 特翻转的概率,提高了开卡文件的安全性。
附图说明
图1为本发明一种控制器开卡文件的文件组成结构图;
图2为本发明一种控制器安全开卡方法的方法流程图;
图3为本发明另一实施例一种控制器安全开卡方法的方法流程图;
图4为本发明使用加密密钥解密密文MPLoader,得到明文MPLoader步 骤之后的步骤流程图;
图5为本发明一种控制器安全开卡装置的结构原理框图;
图6为本发明一种控制器安全开卡装置的结构原理框图。
具体实施方式
为阐述本发明的思想及目的,下面将结合附图和具体实施例对本发明 做进一步的说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进 行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施 例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保 护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、 前、后等)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相 对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示 也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的, 而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的 数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至 少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必 须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互 矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
如无特别说明,本文中的“/”代表含义为“或”。
本文中英文缩写的解释如下:
Bootrom:固化在微控制器内部,用于芯片正常工作的代码。
MPLoader:固态硬盘首次上电时运行的开卡工程。
Header:MPLoader的头文件,包含MPLoader的相关信息。
Sum:求和值。
CRC:一种循环冗余校验算法。
Scramble:扰码。
Descramable:解扰码。
Header,头部数据。
参照图1-4,本发明一具体实施例提出了一种控制器安全开卡方法,包 括MPLoader数据加密过程,MPLoader数据加密过程包括以下步骤:
S10、生成一个随机数作为对称加密算法加密密钥;
S11、根据MPLoader数据计算得到CRC值和数据长度;
S12、将加密密钥,初始CRC值和数据长度写入Header;
S13、根据Header计算得到初始和值,并将初始和值写入Header;
S14、使用加密密钥对MPLoader数据进行对称加密,得到密文 MPLoader;
S15、将Header和密文MPLoader拼接得到开卡文件。
对于步骤S10-S13,对称加密算法的数据发信方将明文(原始数据)和 加密密钥一起经过特殊加密算法处理后,使其变成复杂的密文发送出去。 收信方收到密文后,若想解读密文,则需要使用加密用的密钥及相同算法 的逆算法对密文进行解密,才能使其恢复成可读明文。生成一个随机数作 为对称加密的加密密钥用于后续加解密MPLoader数据,使用随机数作为对 称加密算法的加密密钥提高了加密密钥被破解的难度。
同时根据MPLoader数据来计算出CRC值和数据长度,CRC值是一种 循环冗余校验数据,用于确保MPLoader数据的准确性。
在得到加密密钥,CRC值和数据长度之后,将加密密钥,CRC值和数 据长度都写入到header中存放,用于后续进行反向验证MPLoader数据的 准确性。在将加密密钥,CRC值和数据长度都写入到header中之后,根据 已写入的数据计算出header当前的和值sum作为初始和值,并将初始和值 也写入到header中,初始和值用于与后续的验证和值比较,确定加密密钥 的准确性。
另外,Header中的保留位使用0覆盖。
参考图1,对于步骤S14和S15,加密密钥用于加密MPLoader数据, 将MPLoader数据加密得到密文MPLoader文件,将密文MPLoader和存储 有加密密钥,CRC值,数据长度和初始和值的header拼接组成开卡文件, 开卡文件由专门的打包工具生成,打包工具中写有进行扰码和解扰码的固 定种子Key_Seed,固定种子Key_Seed可以用于对开卡文件做scramble扰 码处理或Descramble解扰码处理。
本方案使用Header的和值sum来确保Header的准确性,使用CRC值 来确保MPLoader数据的准确性,使用加密密钥对称加解密的方式确保 MPLoader数据的安全性。
步骤S15之后,还包括:S16、使用固定种子Key_Seed,对开卡文件 做scramble扰码处理,将开卡文件数据随机化。
对于步骤S16,在打包工具生成开卡文件之后,还使用固定种子 Key_Seed,对开卡文件做scramble扰码处理,用于将开卡文件数据随机化, 数据随机化后的开卡文件中的0和1均匀分布,数据随机化后的开卡文件 混淆性极强,即使开卡文件丢失,第三方也无法破解开卡文件Header中的 加密密钥,更无法获得明文的MPLoader数据,提高了开卡文件的安全性, 同时,0和1均匀分布的开卡文件在写入NandFlash中也可减少数据发生比 特翻转的概率。
参考图3,在本发明另一具体实施例,一种控制器安全开卡方法还包括 开卡文件解密过程,开卡文件解密过程包括以下步骤:
S20、配置Bootrom,进入下载模式;
S21、通过Uart或者PCIE接口下载开卡文件;
S22、对开卡文件做解扰码处理;
S23、获取解扰码后的Header的加密密钥;
S24、使用加密密钥解密密文MPLoader,得到明文MPLoader。
对于步骤S20-S21,Bootrom是固化在微控制器内部,用于控制芯片正 常工作的代码,通过配位Bootrom模式配置的GPIO电平,将固态硬盘控制 器的Bootrom配置在下载模式工作,才能通过UART或者PCIE接口将开卡 文件下载到控制器缓存区域运行。
对于步骤S22,开卡文件在扰码处理后,开卡文件中0和1均匀分布, 数据随机化,使开卡文件丢失也无法破解Header中的加密密钥,保证了MPLoader数据的安全性。因此,在下载了扰码后的开卡文件之后,固态硬 盘控制器使用Descramable解扰码功能,用于去除开卡文件的数据随机化。 通过固态硬盘控制器的NFC模块,使用与打包工具中写有的固定种子 Key_Seed对开卡文件进行解扰码,使0和1均匀分布的开卡文件恢复成明 文Header和密文MPLoader组成的开卡文件,再获取header中的加密密钥 解密密文MPLoader,得到明文MPLoader数据。
具体的,步骤S22具体为:从打包工具中获取固定种子Key_Seed对开 卡文件做解扰码,将开卡文件数据去随机化。
对于步骤S23-S24,在得到明文Header和密文MPLoader组成的开卡文 件之后,获取Header中的加密密钥,并使用加密密钥解密密文MPLoader, 得到明文的MPLoader数据。对称加密的方式保证了MPLoader数据的安全 性。
参考图4,步骤之S24后包括以下步骤:
S25、根据Header计算得到验证和值;
S26、比较验证和值和初始和值是否一致;
S27、若一致,则计算MPLoader数据的验证CRC值;
S28、比较验证CRC值与初始CRC值是否一致;
S29、若一致,控制器将运行指针跳转至MPLoader零地址,运行 MPLoader。
对于步骤S25-S29,在解密得到MPLoader数据后,根据开卡文件的明 文Header计算验证和值,根据MPLoader数据计算得到其CRC值,将计算 出来的验证和值和验证CRC值与打包工具生成的开卡文件中Header的初始 和值和初始CRC值做比较,若结果均一致则正常运行MPLoader数据,否 则代表Bootrom下载失败,使用本方案校验方法,可有效防止固态硬盘控 制器运行非法代码。
本方案使用对称加密算法对MPLoader数据进行加密,确保MPLoader的 安全性;数据随机化处理的方式,确保Header中加密密钥和密文MPLoader 的安全;同时减小了开卡文件写入NandFlash时数据发生比特翻转的概率, 提高了开卡文件的安全性。
参考图5,本发明还提出了一种控制器安全开卡装置,包括:
密钥生成单元10,用于生成一个随机数作为对称加密算法加密密钥;
第一计算单元11,用于根据MPLoader数据计算得到CRC值和数据长 度;
写入单元12,用于将加密密钥,初始CRC值和数据长度写入Header,
第二计算单元13,用于根据Header计算得到初始和值,并将初始和值 写入Header;
加密单元14,用于加密密钥对MPLoader数据进行对称加密,得到密 文MPLoader;
拼接单元15,用于将Header和密文MPLoader拼接得到开卡文件。
扰码单元16,用于使用固定种子Key_Seed,对开卡文件做scramble扰 码处理,将开卡文件数据随机化。
对于密钥生成单元10,对称加密算法的数据发信方将明文(原始数据) 和加密密钥一起经过特殊加密算法处理后,使其变成复杂的密文发送出去。 收信方收到密文后,若想解读密文,则需要使用加密用的密钥及相同算法 的逆算法对密文进行解密,才能使其恢复成可读明文。生成一个随机数作 为对称加密的加密密钥用于后续加解密MPLoader数据,使用随机数作为对 称加密算法的加密密钥提高了加密密钥被破解的难度。
对于第一计算单元11,同时,根据MPLoader数据来计算出CRC值和 数据长度,CRC值是一种循环冗余校验数据,用于确保MPLoader数据的 准确性。
对于写入单元12和第二计算单元13,在得到加密密钥,CRC值和数 据长度之后,将加密密钥,CRC值和数据长度都写入到header中存放,用 于后续进行反向验证MPLoader数据的准确性。在将加密密钥,CRC值和 数据长度都写入到header中之后,根据已写入的数据计算出header当前的 和值sum作为初始和值,并将初始和值也写入到header中,初始和值用于 与后续的验证和值比较,确定加密密钥的准确性。
另外,Header中的保留位使用0覆盖。
对于加密单元14和拼接单元15,加密密钥用于加密MPLoader数据, 将MPLoader数据加密得到密文MPLoader文件,将密文MPLoader和存储 有加密密钥,CRC值,数据长度和初始和值的header拼接组成开卡文件, 开卡文件由专门的打包工具生成,打包工具中写有进行扰码和解扰码的固 定种子Key_Seed,固定种子Key_Seed可以用于对开卡文件做scramble扰 码处理或Descramble解扰码处理。
本方案使用Header的和值sum来确保Header的准确性,使用CRC值 来确保MPLoader数据的准确性,使用加密密钥对称加解密的方式确保 MPLoader数据的安全性。步骤S15之后,还包括:S16、使用固定种子 Key_Seed,对开卡文件做scramble扰码处理,将开卡文件数据随机化。
对于扰码单元16,在打包工具生成开卡文件之后,还使用固定种子 Key_Seed,对开卡文件做scramble扰码处理,用于将开卡文件数据随机化, 数据随机化后的开卡文件中的0和1均匀分布,数据随机化后的开卡文件 混淆性极强,即使开卡文件丢失,第三方也无法破解开卡文件Header中的 加密密钥,更无法获得明文的MPLoader数据,提高了开卡文件的安全性, 同时,0和1均匀分布的开卡文件在写入NandFlash中也可减少数据发生比 特翻转的概率。
参考图6,本发明一种控制器安全开卡装置还,用于解密开卡文件,具 体包括:
下载配置单元21,用于配置Bootrom,进入下载模式;
下载单元22,用于通过Uart或者PCIE接口下载开卡文件;
解扰码单元23,用于对开卡文件做解扰码处理;
密钥获取单元24,用于获取解扰码后的Header的加密密钥;
解密单元25,用于使用加密密钥解密密文MPLoader,得到明文 MPLoader。
第三计算单元26,用于根据Header计算得到验证和值;
第一比较单元27,用于比较验证和值和初始和值是否一致;
第四计算单元28,用于在验证和值和初始和值一致时,计算MPLoader 数据的验证CRC值;
第二比较单元29,比较验证CRC值与初始CRC值是否一致;
跳转运行单元30,在验证CRC值与初始CRC值一致时,控制器将运 行指针跳转至MPLoader零地址,运行MPLoader。
对于下载配置单元21和下载单元22,Bootrom是固化在微控制器内部, 用于控制芯片正常工作的代码,通过配位Bootrom模式配置的GPIO电平, 将固态硬盘控制器的Bootrom配置在下载模式工作,才能通过UART或者 PCIE接口将开卡文件下载到控制器缓存区域运行。
对于解扰码单元23,开卡文件在扰码处理后,开卡文件中0和1均匀 分布,数据随机化,使开卡文件丢失也无法破解Header中的加密密钥,保 证了MPLoader数据的安全性。因此,在下载了扰码后的开卡文件之后,固 态硬盘控制器使用Descramable解扰码功能,用于去除开卡文件的数据随机 化。通过固态硬盘控制器的NFC模块,使用与打包工具中写有的固定种子 Key_Seed对开卡文件进行解扰码,使0和1均匀分布的开卡文件恢复成明 文Header和密文MPLoader组成的开卡文件,再获取header中的加密密钥 解密密文MPLoader,得到明文MPLoader数据。
具体的,解扰码单元23包括解扰码模块,用于从打包工具中获取固定 种子Key_Seed对开卡文件做解扰码,将开卡文件数据去随机化。
对于密钥获取单元24和解密单元25,在得到明文Header和密文 MPLoader组成的开卡文件之后,获取Header中的加密密钥,并使用加密 密钥解密密文MPLoader,得到明文的MPLoader数据。对称加密的方式保 证了MPLoader数据的安全性。
对于第三计算单元26,第一比较单元27,第四计算单元28,第二比较 单元29和跳转运行单元30,在解密得到MPLoader数据后,根据开卡文件 的明文Header计算验证和值,根据MPLoader数据计算得到其CRC值,将 计算出来的验证和值和验证CRC值与打包工具生成的开卡文件中Header 的初始和值和初始CRC值做比较,若结果均一致则正常运行MPLoader数 据,否则代表Bootrom下载失败,使用本方案校验方法,可有效防止固态 硬盘控制器运行非法代码。
本方案使用对称加密算法对MPLoader数据进行加密,确保MPLoader的 安全性;数据随机化处理的方式,确保Header中加密密钥和密文MPLoader 的安全;同时减小了开卡文件写入NandFlash时数据发生比特翻转的概率, 提高了开卡文件的安全性。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围, 凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直 接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范 围内。

Claims (10)

1.一种控制器安全开卡方法,其特征在于,包括MPLoader数据加密过程,MPLoader数据加密过程包括以下步骤:
生成一个随机数作为对称加密算法加密密钥;
根据MPLoader数据计算得到CRC值和数据长度;
将加密密钥,初始CRC值和数据长度写入Header;
根据Header计算得到初始和值,并将初始和值写入Header;
使用加密密钥对MPLoader数据进行对称加密,得到密文MPLoader;
将Header和密文MPLoader拼接得到开卡文件。
2.如权利要求1所述的控制器安全开卡方法,其特征在于,所述将Header和密文MPLoader拼接得到开卡文件步骤之后,还包括,
使用固定种子Key_Seed,对开卡文件做scramble扰码处理,将开卡文件数据随机化。
3.如权利要求2所述的控制器安全开卡方法,其特征在于,还包括开卡文件解密过程,开卡文件解密过程包括以下步骤:
配置Bootrom,进入下载模式;
通过Uart或者PCIE接口下载开卡文件;
对开卡文件做解扰码处理;
获取解扰码后的Header的加密密钥;
使用加密密钥解密密文MPLoader,得到明文MPLoader。
4.如权利要求3所述的控制器安全开卡方法,其特征在于,所述得到明文MPLoader步骤之后,包括,
根据Header计算得到验证和值;
比较验证和值和初始和值是否一致;
若一致,则计算MPLoader数据的验证CRC值;
比较验证CRC值与初始CRC值是否一致;
若一致,控制器将运行指针跳转至MPLoader零地址,运行MPLoader。
5.如权利要求3所述的控制器安全开卡方法,其特征在于,所述对开卡文件做解扰码处理步骤,包括,
从打包工具中获取固定种子Key_Seed对开卡文件做解扰码,开卡文件数据去随机化。
6.一种控制器安全开卡装置,其特征在于,包括:
密钥生成单元,用于生成一个随机数作为对称加密算法加密密钥;
第一计算单元,用于根据MPLoader数据计算得到CRC值和数据长度;
写入单元,用于将加密密钥,初始CRC值和数据长度写入Header;
第二计算单元,用于根据Header计算得到初始和值,并将初始和值写入Header;
加密单元,用于加密密钥对MPLoader数据进行对称加密,得到密文MPLoader;
拼接单元,用于将Header和密文MPLoader拼接得到开卡文件。
7.如权利要求6所述的控制器安全开卡装置,其特征在于,还包括扰码单元,用于使用固定种子Key_Seed,对开卡文件做scramble扰码处理,将开卡文件数据随机化。
8.如权利要求6所述的控制器安全开卡装置,其特征在于,还包括:
下载配置单元,用于配置Bootrom,进入下载模式;
下载单元,用于通过Uart或者PCIE接口下载开卡文件;
解扰码单元,用于对开卡文件做解扰码处理;
密钥获取单元,用于获取解扰码后的Header的加密密钥;
解密单元,用于使用加密密钥解密密文MPLoader,得到明文MPLoader。
9.如权利要求6所述的控制器安全开卡装置,其特征在于,还包括:
第三计算单元,用于根据Header计算得到验证和值;
第一比较单元,用于比较验证和值和初始和值是否一致;
第四计算单元,用于在验证和值和初始和值一致时,计算MPLoader数据的验证CRC值;
第二比较单元,比较验证CRC值与初始CRC值是否一致;
跳转运行单元,在验证CRC值与初始CRC值一致时,控制器将运行指针跳转至MPLoader零地址,运行MPLoader。
10.如权利要求6所述的控制器安全开卡装置,其特征在于,所述解扰码单元包括解扰码模块,用于从打包工具中获取固定种子Key_Seed对开卡文件做解扰码,将开卡文件数据去随机化。
CN201910582390.0A 2019-06-28 2019-06-28 控制器安全开卡方法及装置 Active CN110545172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910582390.0A CN110545172B (zh) 2019-06-28 2019-06-28 控制器安全开卡方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910582390.0A CN110545172B (zh) 2019-06-28 2019-06-28 控制器安全开卡方法及装置

Publications (2)

Publication Number Publication Date
CN110545172A true CN110545172A (zh) 2019-12-06
CN110545172B CN110545172B (zh) 2022-06-07

Family

ID=68709982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910582390.0A Active CN110545172B (zh) 2019-06-28 2019-06-28 控制器安全开卡方法及装置

Country Status (1)

Country Link
CN (1) CN110545172B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143527A (zh) * 2010-02-03 2011-08-03 华为技术有限公司 嵌套协议包头的压缩方法及装置
CN107562434A (zh) * 2016-06-30 2018-01-09 中兴通讯股份有限公司 升级文件的制作方法、升级方法、装置及设备
US20180083775A1 (en) * 2010-08-04 2018-03-22 Lawrence P. Huang System for scrambling and methods for use therewith
CN108985111A (zh) * 2017-06-01 2018-12-11 慧荣科技股份有限公司 数据储存装置以及固件加解密方法
CN109889333A (zh) * 2019-01-24 2019-06-14 深圳忆联信息系统有限公司 固件数据加密方法、装置、计算机设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143527A (zh) * 2010-02-03 2011-08-03 华为技术有限公司 嵌套协议包头的压缩方法及装置
US20180083775A1 (en) * 2010-08-04 2018-03-22 Lawrence P. Huang System for scrambling and methods for use therewith
CN107562434A (zh) * 2016-06-30 2018-01-09 中兴通讯股份有限公司 升级文件的制作方法、升级方法、装置及设备
CN108985111A (zh) * 2017-06-01 2018-12-11 慧荣科技股份有限公司 数据储存装置以及固件加解密方法
CN109889333A (zh) * 2019-01-24 2019-06-14 深圳忆联信息系统有限公司 固件数据加密方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN110545172B (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
US9960914B2 (en) Semiconductor device and information processing system for encrypted communication
US9363079B2 (en) Method of generating message authentication code and authentication device and authentication request device using the method
US20180204004A1 (en) Authentication method and apparatus for reinforced software
JP2007013433A (ja) 暗号化データを送受信する方法及び情報処理システム
US20080320318A1 (en) Method and apparatus for data encryption and decryption
WO2015186829A1 (ja) 送信ノード、受信ノード、通信ネットワークシステム、メッセージ作成方法およびコンピュータプログラム
CN101815292B (zh) 一种移动终端的数据保护装置及方法
CN108199827B (zh) 客户端代码完整性校验方法、存储介质、电子设备及系统
CN110245466B (zh) 软件完整性保护和验证方法、系统、设备及存储介质
WO2023240866A1 (zh) 密码卡及其根密钥保护方法、计算机可读存储介质
CN115314253B (zh) 数据处理方法、装置、系统、设备及作业机械
CN111783078A (zh) Android平台安全芯片控制系统
CN111859415A (zh) 神经网络模型加密系统和方法
JP2005157930A (ja) 機密情報処理システムおよびlsi
CN106850211B (zh) 一种基于mac地址的加密方法及系统
CN112241527A (zh) 密钥生成方法、系统及电子设备
CN114942729A (zh) 一种计算机系统的数据安全存储与读取方法
US8098825B2 (en) Method and system for enhancing data encryption using multiple-key lists
CN110545172B (zh) 控制器安全开卡方法及装置
CN114189862A (zh) 无线终端及无线终端在Uboot模式下的接口访问鉴权方法
CN107276961B (zh) 一种基于密码算法加密和解密数据的方法及装置
CN110008724B (zh) 固态硬盘控制器安全加载方法、装置及存储介质
US20080104396A1 (en) Authentication Method
KR101687492B1 (ko) 분산적으로 데이터를 저장하는 방법 및 암호학적 정보 처리 장치
US10200348B2 (en) Method to detect an OTA (over the air) standard message affected by an error

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