CN105426772A - 一种在flash安全存储加密认证所需根密钥的方法 - Google Patents

一种在flash安全存储加密认证所需根密钥的方法 Download PDF

Info

Publication number
CN105426772A
CN105426772A CN201510714428.7A CN201510714428A CN105426772A CN 105426772 A CN105426772 A CN 105426772A CN 201510714428 A CN201510714428 A CN 201510714428A CN 105426772 A CN105426772 A CN 105426772A
Authority
CN
China
Prior art keywords
key
metadata
index
root
key metadata
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
CN201510714428.7A
Other languages
English (en)
Other versions
CN105426772B (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.)
Xiamen Yaxun Zhilian Technology Co ltd
Original Assignee
Xiamen Yaxon Networks 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 Xiamen Yaxon Networks Co Ltd filed Critical Xiamen Yaxon Networks Co Ltd
Priority to CN201510714428.7A priority Critical patent/CN105426772B/zh
Publication of CN105426772A publication Critical patent/CN105426772A/zh
Application granted granted Critical
Publication of CN105426772B publication Critical patent/CN105426772B/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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明一种在FLASH安全存储加密认证所需根密钥的方法,只需要根密钥索引表和密钥元数据表两张表,用于存储索引值和密钥元数据,通过根密钥索引表循环左移获取索引值,用索引值到密钥元数据表中去定位密钥元数据来组成最终的根密钥,不需要复杂计算,最大可能地保障了根密钥的在FLASH中不被暴露;本发明的表只是用来干扰密钥的存储,以起到隐藏密钥的目的,本发明的表占用的空间为(256+32)个字节,而原始密钥表有256!阶的组合,最终根密钥也有25632的组合,从而使用不大的代价,在车载FLASH上很好的隐藏了根密钥。

Description

一种在FLASH安全存储加密认证所需根密钥的方法
技术领域
本发明涉及一种在FLASH安全存储加密认证所需根密钥的方法。
背景技术
如果电路板被炒了,存储于电路FLASH中的程序被拷贝出来,辛苦的劳动成果将被他人无代价地生产复制使用。为此就需要设计了一个加密认证的过程,加密认证需要对一些密钥进行存储。通常加密认证所需的根密钥是和程序混杂在一起存储在FLASH上的,而根密钥是非常重要的,如果暴露了,加密认证的过程就会被破解,所以需要一种比较可靠的根密钥存储方法来解决这种需求。
现在常用的对密钥进行存储方法都是通过计算来分解和还原最终的密钥。比如,用原始密钥与随机数进行异或运算来进行分解和还原密钥、用孙子定理进行复杂的运算来进行分解和还原密钥。对于嵌入式MCU来说,大量的计算有可能处理不过来。对嵌入式MCU计算能力有限,用适当的空间来换时间,是个好的做法。
发明内容
本发明的目的在于提供一种在FLASH安全存储加密认证所需根密钥的方法,占用的空间少,不需要复杂计算。
本发明一种在FLASH安全存储加密认证所需根密钥的方法,包括如下步骤:
步骤1、首先建立一个密钥元数据表,密钥元数据表总长为256个字节,该密钥元数据表由256个密钥元数据组成,即每个密钥元数据长度为一个字节,且密钥元数据的值是十六进制的数,取值范围从0x00到0xff,在密钥元数据表中的密钥元数据的值都是唯一的;
步骤2、把密钥元数据表切分成16组,每组由连续的16个密钥元数据组成,将这16组密钥元数据分别放在FLASH上不同的物理地址进行存储;
步骤3、根密钥由32个密钥元数据组成,为根密钥组建一个32个字节的密钥索引表,根据该密钥索引表可以找到需要的密钥元数据来组成根密钥,具体为:
密钥索引表包括32个索引值,该索引值取值密钥元数据在密钥元数据表中的位置,即每个索引值指向密钥元数据表中的某个密钥元数据,则密钥索引表中的32个索引值就指向了密钥元数据表中32个密钥元数据,由这32个密钥元数据组成了最终的根密钥;
一个密钥索引表定位一个根密钥,有多个根密钥就要定义多个密钥索引表,且多个密钥索引表共用一个密钥元数据表,也就是说,除非两个根密钥一样,否则两个密钥索引表是不会相同的;
将密钥索引表的索引值循环右移3位后再进行存储,这就是索引值在FLASH上的存储值;
步骤4、当需要使用根密钥的时候,先把密钥索引表的索引值的存储值进行循环左移3位,得到索引值;
步骤5、把存在FLASH不同位置的16组被分割的密钥元数据表组成一个最终用来查询的完整的密钥元数据表;
步骤6、依次用密钥索引表中的32个索引值到密钥元数据表找到对应的密钥元数据,取出32个密钥元数据组成根密钥。
本发明只需要两个表(根密钥索引表和密钥元数据表)和两次错位存储,即通过根密钥索引表循环左移获取索引值,用索引值到密钥元数据表中去定位密钥元数据,来组成最终的根密钥,不需要复杂计算,最大可能地保障了根密钥的在FLASH中不被暴露;本发明的表只是用来干扰密钥的存储,以起到隐藏密钥的目的。两个表的内容是索引值和密钥元数据,两个表是紧密联系在一起,而不是独立分开的。本发明的表占用的空间为(256+32)个字节,而原始密钥表有256!阶的组合,最终根密钥也有25632的组合,从而使用不大的代价,产生类似的效果,在车载FLASH上很好的隐藏了根密钥。
附图说明
图1为本发明的原理图。
以下结合附图和实施例对本发明做进一步详述。
具体实施方式
如图1所示,本发明一种在FLASH安全存储加密认证所需根密钥的方法,包括如下步骤:
步骤1、首先建立一个密钥元数据表,密钥元数据表总长为256个字节,该密钥元数据表由256个密钥元数据keymeta组成,即每个密钥元数据keymeta长度为一个字节,且密钥元数据keymeta的值是十六进制的数,取值范围从0x00到0xff,在密钥元数据表中的密钥元数据keymeta的值都是唯一的,也就是说密钥元数据表中任意两个密钥元数据keymeta值都不会相同;
步骤2、为了进一步保障安全性,密钥元数据表在FLASH中不是放在一块进行连续存储的,把密钥元数据表切分成16组,每组由连续的16个密钥元数据keymeta组成,比如keymeta0~keymeta15为第一组,keymeta16~keymeta31为第二组,其他以此类推,将这16组密钥元数据分别放在FLASH上不同的物理地址进行存储;
步骤3、根密钥由32个密钥元数据keymeta组成,为根密钥组建一个32个字节的密钥索引表,根据该密钥索引表可以找到需要的密钥元数据keymeta来组成根密钥,具体为:
密钥索引表包括32个索引值keyindex,该密钥元数据keymeta在密钥元数据表中的位置就是密钥索引表中的索引值keyindex,即每个索引值keyindex指向密钥元数据表中的某个密钥元数据keymeta,则密钥索引表中的32个索引值keyindex就指向了密钥元数据表中32个密钥元数据keymeta,这32个密钥元数据keymeta就组成了最终的根密钥;
通过这样的方式一个密钥索引表定位了一个根密钥。如果有多个根密钥就要定义多个密钥索引表,但多个密钥索引表只共用一个密钥元数据表,也就是说,除非两个根密钥一样,否则两个密钥索引表是不会相同的。为了不让索引值keyindex暴露出来,密钥索引表的索引值keyindex要循环右移3位后再进行存储,该索引值keyindex循环右移3位后就是索引值keyindex最终在FLASH上的存储值,比如索引值keyindex是0x01,循环右移3位之后的索引值keyindex的存储值就是0x20。
步骤4、当需要使用根密钥的时候,先把密钥索引表的索引值keyindex的存储值进行循环左移3位,得到索引值keyindex;
步骤5、把存在FLASH不同位置的16组被分割的密钥元数据表组成一个最终用来查询的完整的密钥元数据表;
步骤6、依次用密钥索引表中的32个索引值keyindex的使用值到密钥元数据表找到对应的密钥元数据keymeta,取出32个密钥元数据keymeta组成根密钥。
以上所述,仅是本发明较佳实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (1)

1.一种在FLASH安全存储加密认证所需根密钥的方法,其特征在于包括如下步骤:
步骤1、首先建立一个密钥元数据表,密钥元数据表总长为256个字节,该密钥元数据表由256个密钥元数据组成,即每个密钥元数据长度为一个字节,且密钥元数据的值是十六进制的数,取值范围从0x00到0xff,在密钥元数据表中的密钥元数据的值都是唯一的;
步骤2、把密钥元数据表切分成16组,每组由连续的16个密钥元数据组成,将这16组密钥元数据分别放在FLASH上不同的物理地址进行存储;
步骤3、根密钥由32个密钥元数据组成,为根密钥组建一个32个字节的密钥索引表,根据该密钥索引表可以找到需要的密钥元数据来组成根密钥,具体为:
密钥索引表包括32个索引值,该索引值取值密钥元数据在密钥元数据表中的位置,即每个索引值指向密钥元数据表中的某个密钥元数据,则密钥索引表中的32个索引值就指向了密钥元数据表中32个密钥元数据,由这32个密钥元数据组成了最终的根密钥;
一个密钥索引表定位一个根密钥,有多个根密钥就要定义多个密钥索引表,且多个密钥索引表共用一个密钥元数据表,也就是说,除非两个根密钥一样,否则两个密钥索引表是不会相同的;
将密钥索引表的索引值循环右移3位后再进行存储,这就是索引值在FLASH上的存储值;
步骤4、当需要使用根密钥的时候,先把密钥索引表的索引值的存储值进行循环左移3位,得到索引值;
步骤5、把存在FLASH不同位置的16组被分割的密钥元数据表组成一个最终用来查询的完整的密钥元数据表;
步骤6、依次用密钥索引表中的32个索引值的使用值到密钥元数据表找到对应的密钥元数据,取出32个密钥元数据组成根密钥。
CN201510714428.7A 2015-10-29 2015-10-29 一种在flash安全存储加密认证所需根密钥的方法 Active CN105426772B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510714428.7A CN105426772B (zh) 2015-10-29 2015-10-29 一种在flash安全存储加密认证所需根密钥的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510714428.7A CN105426772B (zh) 2015-10-29 2015-10-29 一种在flash安全存储加密认证所需根密钥的方法

Publications (2)

Publication Number Publication Date
CN105426772A true CN105426772A (zh) 2016-03-23
CN105426772B CN105426772B (zh) 2019-07-02

Family

ID=55504975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510714428.7A Active CN105426772B (zh) 2015-10-29 2015-10-29 一种在flash安全存储加密认证所需根密钥的方法

Country Status (1)

Country Link
CN (1) CN105426772B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110765439A (zh) * 2018-08-17 2020-02-07 哈尔滨安天科技集团股份有限公司 一种移动存储加密认证的方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079120A1 (en) * 2005-10-03 2007-04-05 Bade Steven A Dynamic creation and hierarchical organization of trusted platform modules
CN101719910A (zh) * 2009-11-16 2010-06-02 北京数字太和科技有限责任公司 一种实现内容保护的终端设备及其传输方法
CN102137398A (zh) * 2011-03-10 2011-07-27 中兴通讯股份有限公司 增强密钥的更新方法、装置和用户设备
CN103580872A (zh) * 2013-11-11 2014-02-12 北京华大智宝电子系统有限公司 一种用于密钥生成与管理的系统及方法
CN104852891A (zh) * 2014-02-19 2015-08-19 华为技术有限公司 一种密钥生成的方法、设备及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079120A1 (en) * 2005-10-03 2007-04-05 Bade Steven A Dynamic creation and hierarchical organization of trusted platform modules
CN101719910A (zh) * 2009-11-16 2010-06-02 北京数字太和科技有限责任公司 一种实现内容保护的终端设备及其传输方法
CN102137398A (zh) * 2011-03-10 2011-07-27 中兴通讯股份有限公司 增强密钥的更新方法、装置和用户设备
CN103580872A (zh) * 2013-11-11 2014-02-12 北京华大智宝电子系统有限公司 一种用于密钥生成与管理的系统及方法
CN104852891A (zh) * 2014-02-19 2015-08-19 华为技术有限公司 一种密钥生成的方法、设备及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张浩等: "CACDP:适用于云存储动态策略的密文访问控制方法", 《计算机研究与发展》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110765439A (zh) * 2018-08-17 2020-02-07 哈尔滨安天科技集团股份有限公司 一种移动存储加密认证的方法、装置及存储介质
CN110765439B (zh) * 2018-08-17 2023-01-31 安天科技集团股份有限公司 一种移动存储加密认证的方法、装置及存储介质

Also Published As

Publication number Publication date
CN105426772B (zh) 2019-07-02

Similar Documents

Publication Publication Date Title
Lin Detection of large water clusters by a low rf quadrupole mass filter
CN105760764B (zh) 一种嵌入式存储设备文件的加解密方法、装置及终端
MY188829A (en) Blockchain-based data processing method and device
WO2016200465A3 (en) System and method for hierarchical cryptographic key generation using biometric data
CN105406960A (zh) 一种信息加密和解密方法
WO2011033259A3 (en) Key generation for multi-party encryption
CN101996298A (zh) 加密方法及与加密方法相对应的解密方法
US20150324302A1 (en) White box encryption system and method
WO2019141289A3 (en) Methods and devices for data traversal
CN104657432A (zh) 一种降低长地址转换为短地址重复率的方法
Yang et al. Secure color image encryption algorithm based on chaotic signals and its FPGA realization
CN109286615A (zh) 一种高效的跨局域网数据同步方法
WO2020101979A3 (en) Systems and methods for managing data based on secret sharing
CN105279198A (zh) 数据表储存、修改、查询和统计方法
CN110704854A (zh) 针对文本数据保留格式的流式加密方法
CN105426772A (zh) 一种在flash安全存储加密认证所需根密钥的方法
CN104243147B (zh) 基于无线信道特征的对称密钥生成与分发的保密增强方法
CN105915333A (zh) 一种基于属性加密的高效密钥分发方法
CN104486069A (zh) 一种基于fpga实现的gost加解密设备及其方法
CN108809619A (zh) 用于完全同态加密的精度控制及累计误差消除方法
CN106850192A (zh) 一种优化移动设备数据库加密效率的方法
GB954313A (en) Improvements in electrical generators of quasi-random symbols
CN205230333U (zh) 一种密钥加密红外遥控装置
CN110061832B (zh) 以汉字作为密码的对称密码算法的实现方法
CN105069331A (zh) 基于计算机二进制编码格式的权限控制方法

Legal Events

Date Code Title Description
C06 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
CP03 Change of name, title or address

Address after: 361009 Xiamen Torch High tech Zone Software Park Innovation Building C Area 303-E, Xiamen, Fujian Province

Patentee after: Xiamen Yaxun Zhilian Technology Co.,Ltd.

Country or region after: China

Address before: 361009 No.46, guanri Road, phase II, software park industrial base, Xiamen City, Fujian Province

Patentee before: XIAMEN YAXON NETWORK Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address