CN116305193A - 一种加密配置文件生成方法及装置 - Google Patents

一种加密配置文件生成方法及装置 Download PDF

Info

Publication number
CN116305193A
CN116305193A CN202310109374.6A CN202310109374A CN116305193A CN 116305193 A CN116305193 A CN 116305193A CN 202310109374 A CN202310109374 A CN 202310109374A CN 116305193 A CN116305193 A CN 116305193A
Authority
CN
China
Prior art keywords
code
file
data
encryption
random number
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
CN202310109374.6A
Other languages
English (en)
Other versions
CN116305193B (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.)
Guangzhou Tongze Kangwei Intelligent Technology Co ltd
Original Assignee
Guangzhou Tongze Kangwei Intelligent Technology 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 Guangzhou Tongze Kangwei Intelligent Technology Co ltd filed Critical Guangzhou Tongze Kangwei Intelligent Technology Co ltd
Priority to CN202310109374.6A priority Critical patent/CN116305193B/zh
Publication of CN116305193A publication Critical patent/CN116305193A/zh
Application granted granted Critical
Publication of CN116305193B publication Critical patent/CN116305193B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本发明公开了一种加密配置文件生成方法及装置,包括:分别对客户代码与型号代码进行填充扩展,得到第一代码与第二代码,同时,生成第一随机数与第二随机数,利用所述第一代码、第二代码、第一随机数与第二随机数进行计算,得到数据密钥;依次利用所述数据密钥对若干个配置文件进行加密,得到若干个加密数据片段;创建数据文件,向所述数据文件中添加所述若干个加密数据片段,得到加长文件;计算所述加长文件中所有数据的SHA‑256校验和值,将所述SHA‑256校验和值写入所述加长文件中,得到加密配置文件。本发明能提高添加配置文件时的便捷性与安全性。

Description

一种加密配置文件生成方法及装置
技术领域
本发明涉及加密配置文件技术领域,尤其涉及一种加密配置文件生成方法及装置。
背景技术
为满足客户的定制需求,经常需要对CPE(Customer Premi ses Equ i pment,用户终端设备)添加配置文件以进行功能特性定制。而现有技术无法在不修改固件的情况下,向CPE添加客户LOGO、铃声文件、开机动画文件、语言翻译文件、字库文件等配置文件,由此导致添加配置文件的便捷性不足。同时,现有技术无法利用多样的加密方法对配置文件进行加密,导致了配置文件的安全性无法保证。
发明内容
本发明实施例提供一种加密配置文件生成方法、装置以及介质,能在不修改固件的情况下,生成加密配置文件以满足客户的多样定制需求,提高了添加配置文件时的便捷性与安全性。
本发明一实施例提供一种加密配置文件生成方法,包括:
分别对客户代码与型号代码进行填充扩展,得到第一代码与第二代码,同时,生成第一随机数与第二随机数,利用所述第一代码、第二代码、第一随机数与第二随机数进行计算,得到数据密钥;
依次利用所述数据密钥对若干个配置文件进行加密,得到若干个加密数据片段;其中,每个所述加密数据片段对应一个配置文件;
创建数据文件,向所述数据文件中添加所述若干个加密数据片段,得到加长文件;
计算所述加长文件中所有数据的SHA-256校验和值,将所述SHA-256校验和值写入所述加长文件中,得到加密配置文件。
与现有技术相比,本发明实施例公开的加密配置文件生成方法通过利用客户代码与型号代码进行一系列运算得到数据密钥,利用所述数据密钥,根据加密算法对需要添加的若干个配置文件与数据进行加密,能够在不修改固件的情况下,生成加密配置文件以满足客户的多样定制需求,提高了添加配置文件时的便捷性与安全性。
进一步的,所述分别对客户代码与型号代码进行填充扩展,得到第一代码与第二代码,同时,生成第一随机数与第二随机数,利用所述第一代码、第二代码、第一随机数与第二随机数进行计算,得到数据密钥,具体包括:
通过I SO10126填充方式分别对所述客户代码与型号代码进行字节填充,得到所述第一代码与所述第二代码,同时,生成所述第一随机数与所述第二随机数;
利用所述第一随机数,通过HMAC-MD5算法对所述第一代码进行运算,得到所述第一运算结果;利用所述第二随机数,通过HMAC-SHA-1算法对所述第二代码进行运算,得到所述第二运算结果;
将所述第一运算结果填充到所述第一代码中,得到第一数据,将所述第二运算结果填充到所述第二代码中,得到第二数据;
利用所述第二数据,通过HMAC-SHA-256算法对所述第一数据进行运算,得到所述数据密钥。
与现有技术相比,本发明通过对客户代码和型号代码进行填充扩展,将填充后得到的代码分别与两个随机生成的随机数进行一系列运算后,能够得到用户专属的数据密钥,通过所述数据密钥对配置文件进行加密,能提高添加配置文件时的安全性。
作为一个优选的实施例,在得到所述第一随机数与所述第二随机数后,还包括:
利用所述第二随机数,通过HMAC-SHA-256算法对所述第一随机数进行运算得到临时密钥;
利用所述临时密钥,通过B l owf i sh算法对所述第一代码进行运算,得到第一加密结果,通过3DES算法对所述第二代码进行运算,得到第二加密结果。
与现有技术相比,本发明对第一代码与第二代码进行加密,进一步提高了加密配置文件的安全性,也为后续解密提供依据。
进一步的,所述创建数据文件,向所述数据文件中添加所述若干个加密数据片段,得到加长文件,具体包括:
创建空文件,依次向所述空文件中写入文件类型魔数、版本号以及全局标志位,得到所述数据文件;
向所述数据文件中添加所述若干个加密数据片段,得到所述加长文件。
作为一个优选的实施例,所述加长文件中的数据还包括:
所述第一随机数、所述第二随机数、所述第一加密结果、所述第二加密结果、用户名以及与所有数据一一对应的若干个标签、若干个标志位与若干个长度字节;其中,所述标签用于表示与标签对应的数据的类型,所述标志位用于表示与标志位对应的数据使用的加密算法类型,所述长度字节用于表示与长度字节对应的数据的字节长度。
与现有技术相比,本发明通过向数据文件中添加配置数据以及其对应的标签、标志位、长度字节,用户可根据所述标签、标志位以及长度字节区分不同配置数据,同时也提高了解密时的效率。
进一步的,所述计算所述加长文件中所有数据的SHA-256校验和值,将所述SHA-256校验和值写入所述加长文件中,得到加密配置文件,具体包括:
对所述加长文件中的所有数据,通过哈希运算计算所述所有数据的SHA-256校验和值;
向所述加长文件中添加与所述SHA-256校验和值对应的标签、标志位以及长度字节,再添加所述SHA-256校验和值到所述加长文件中,得到加密配置文件。
与现有技术相比,本发明通过计算加长文件中所有数据的SHA-256校验和值,能够使用户通过所述SHA-256校验和值检测加密配置文件是否被损坏,提高配置文件的安全性。
进一步的,所述加密配置文件的格式具体包括:
字段一,为文件类型魔数,用于判断文件类型;
字段二,为版本号,用于标记当前配置文件的版本号;
字段三,为全局标志位,用于进行格式扩展;
字段四,为标签,用于表示字段七的类型;
字段五,为标志位,用于表示字段七的加密类型;
字段六,为长度字节,用于表示字段七的字节长度;
字段七,为值数据,其中包括所述加密数据片段;
字段八,为一组或多组包含标签、标志位、长度、值数据的配置数据;
字段九,为校验和值标签,用于表示字段十二为校验和值;
字段十,为校验和值标志位,用于表示字段十二的加密类型;
字段十一,为校验和值长度字节,用于表示字段十二的字节长度;
字段十二,为字段一到字段八中数据的SHA-256校验和值,用于检查文件传输过程中的损坏情况;
各字段按照预设顺序排列,共同组成所述加密配置文件。
本发明另一实施例对应提供了一种加密配置文件生成装置,其特征在于,包括:密钥生成模块、加密模块、加长文件生成模块以及加密配置文件生成模块;
所述密钥生成模块用于分别对客户代码与型号代码进行填充扩展,得到第一代码与第二代码,同时,生成第一随机数与第二随机数,利用所述第一代码、第二代码、第一随机数与第二随机数进行计算,得到数据密钥;
所述加密模块用于利用所述数据密钥对若干个配置文件进行加密,得到若干个加密数据片段;其中,每个所述加密数据片段对应一个配置文件;
所述加长文件生成模块用于创建数据文件,向所述数据文件中添加所述若干个加密数据片段,得到加长文件;
所述加密配置文件生成模块用于计算所述加长文件中所有数据的SHA-256校验和值,将所述SHA-256校验和值写入所述加长文件中,得到加密配置文件。
与现有技术相比,本发明实施例公开的加密配置文件生成装置通过利用客户代码与型号代码进行一系列运算得到数据密钥,利用所述数据密钥,选择多种不同的加密算法对需要添加至CPE的若干个配置文件进行加密,能够在不修改固件的情况下,生成加密配置文件以满足客户的多样定制需求,提高了添加配置文件时的便捷性与安全性。
本发明另一实施例对应提供了一种加密配置文件解密方法,包括:
获取加密配置文件,其中,所述加密配置文件包括第一校验和值、第一加密数据片段、第三随机数、第四随机数、第三加密结果以及第四加密结果;
找到所述第一校验和值对应的第一标签,通过哈希运算计算加密配置文件中所述第一标签之前所有数据的第二校验和值,对比所述第一校验和值与所述第二校验和值,当所述第一检验和值与所述第二校验和值相同时,对加密配置文件进行分析;
通过对所述第三随机数与所述第四随机数计算得到第一临时密钥,通过所述第一临时密钥分别对加密配置文件中的第三加密结果与第四加密结果进行解密,得到第三代码与第四代码,分别对所述第三代码与第四代码进行去填充操作,得到所述加密配置文件中的客户代码和型号代码;
利用所述第三代码、第四代码、第三随机数以及第四随机数进行计算,得到第一数据密钥,通过所述第一数据密钥对所述第一加密数据片段进行解密,得到所述加密配置文件中的若干个配置文件。
本发明另一实施例对应提供了一种加密配置文件解密装置,其特征在于,包括:文件获取模块、对比模块、代码获取模块以及配置文件获取模块;
所述文件获取模块用于获取加密配置文件,其中,所述加密配置文件包括第一校验和值、第一加密数据片段、第三随机数、第四随机数、第三加密结果以及第四加密结果;
所述对比模块用于找到所述第一校验和值对应的第一标签,通过哈希运算计算加密配置文件中所述第一标签之前所有数据的第二校验和值,对比所述第一校验和值与所述第二校验和值,当所述第一检验和值与所述第二校验和值相同时,对加密配置文件进行分析;
所述代码获取模块用于通过对所述第三随机数与所述第四随机数计算得到第一临时密钥,通过所述第一临时密钥分别对加密配置文件中的第三加密结果与第四加密结果进行解密,得到第三代码与第四代码,分别对所述第三代码与第四代码进行去填充操作,得到所述加密配置文件中的客户代码和型号代码;
所述配置文件获取模块用于利用所述第三代码、第四代码、第三随机数以及第四随机数进行计算,得到第一数据密钥,通过所述第一数据密钥对所述第一加密数据片段进行解密,得到所述加密配置文件中的若干个配置文件。
附图说明
图1是本发明一实施例提供的一种加密配置文件生成方法的流程示意图。
图2是本发明一优选实施例提供的一种加密配置文件生成方法的流程示意图。
图3是本发明一实施例提供的一种加密配置文件的格式示意图。
图4是本发明一实施例提供的一种加密配置文件生成装置的结构示意图。
图5是本发明一实施例提供的一种加密配置文件解密方法的流程示意图。
图6是本发明一实施例提供的一种加密配置文件解密装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明一实施例提供的一种加密配置文件生成方法的流程示意图,包括:
S101:分别对客户代码与型号代码进行填充扩展,得到第一代码与第二代码,同时,生成第一随机数与第二随机数,利用所述第一代码、第二代码、第一随机数与第二随机数进行计算,得到数据密钥;
S102:依次利用所述数据密钥对若干个配置文件进行加密,得到若干个加密数据片段;其中,每个所述加密数据片段对应一个配置文件;
S103:创建数据文件,向所述数据文件中添加所述若干个加密数据片段,得到加长文件;
S104:计算所述加长文件中所有数据的SHA-256校验和值,将所述SHA-256校验和值写入所述加长文件中,得到加密配置文件。
本发明实施例提供的一种加密配置文件生成方法通过利用客户代码与型号代码进行一系列运算得到数据密钥,利用所述数据密钥,根据加密算法对需要添加的若干个配置文件与数据进行加密,能够在不修改固件的情况下,生成加密配置文件以满足客户的多样定制需求,提高了添加配置文件时的便捷性与安全性。
对于步骤S101,具体的,所述分别对客户代码与型号代码进行填充扩展,得到第一代码与第二代码,同时,生成第一随机数与第二随机数,利用所述第一代码、第二代码、第一随机数与第二随机数进行计算,得到数据密钥,具体包括:
通过I SO10126填充方式分别对所述客户代码与型号代码进行字节填充,得到所述第一代码与所述第二代码,同时,生成所述第一随机数与所述第二随机数;
利用所述第一随机数,通过HMAC-MD5算法对所述第一代码进行运算,得到所述第一运算结果;利用所述第二随机数,通过HMAC-SHA-1算法对所述第二代码进行运算,得到所述第二运算结果;
将所述第一运算结果填充到所述第一代码中,得到第一数据,将所述第二运算结果填充到所述第二代码中,得到第二数据;
利用所述第二数据,通过HMAC-SHA-256算法对所述第一数据进行运算,得到所述数据密钥。
在一个优选的实施例中,参见图2,生成数据密钥的步骤包括:
对客户代码(一个代表运营商名称的英语字符串)使用I SO10126填充方式进行字节填充,确保客户代码被扩展为32字节长的第一代码;
对型号代码(一个代表CPE型号的英语字符串)使用I SO10126填充方式进行字节填充,确保型号代码被扩展为32字节长的第二代码;
生成两个32字节的随机数,分别为第一随机数与第二随机数;
将第一随机数作为密钥,通过HMAC-MD5算法对第一代码执行运算,得到16字节的第一运算结果;
将第二随机数作为密钥,通过HMAC-SHA-1算法对第二代码执行运算,得到20字节的第二运算结果;
将第一运算结果放到第一代码后面,组成48字节的第一数据;将第二运算结果放到第二代码后面,组成52字节的第二数据;
使用第二数据作为密钥,通过HMAC-SHA-256算法对第一数据执行运算,得到32字节的数据密钥。
与现有技术相比,本发明通过对客户代码和型号代码进行填充扩展,将填充后得到的代码分别与两个随机生成的随机数进行一系列运算后,能够得到用户专属的数据密钥,通过所述数据密钥对配置文件进行加密,能提高添加配置文件时的安全性。
对于步骤S101,进一步的,在得到所述第一随机数与所述第二随机数后,还包括:
利用所述第二随机数,通过HMAC-SHA-256算法对所述第一随机数进行运算得到临时密钥;
利用所述临时密钥,通过B l owf i sh算法对所述第一代码进行运算,得到第一加密结果,通过3DES算法对所述第二代码进行运算,得到第二加密结果。
与现有技术相比,本发明对第一代码与第二代码进行加密,进一步提高了加密配置文件的安全性,也为后续解密提供依据。
对于步骤S102,在一个优选的实施例中,参见图2,利用数据密钥,通过AES加密算法对参数配置文件、铃声文件、字库文件、LOGO文件以及其他需要放到最终加密配置文件中的文件进行加密,每个文件都生成对应的一个加密数据片段。
对于步骤S103,具体的,所述创建数据文件,向所述数据文件中添加所述若干个加密数据片段,得到加长文件,具体包括:
创建空文件,依次向所述空文件中写入文件类型魔数、版本号以及全局标志位,得到所述数据文件;
向所述数据文件中添加所述若干个加密数据片段,得到所述加长文件。
对于步骤S103,进一步的,所述加长文件中的数据还包括:
所述第一随机数、所述第二随机数、所述第一加密结果、所述第二加密结果、用户名以及与所有数据一一对应的若干个标签、若干个标志位与若干个长度字节;其中,所述标签用于表示与标签对应的数据的类型,所述标志位用于表示与标志位对应的数据使用的加密算法类型,所述长度字节用于表示与长度字节对应的数据的字节长度。
在一个优选的实施例中,参见图3,生成加长文件的步骤包括:
创建空文件,依次向空文件中写入4个字节的ASC I I字符串XTCF、1个字节的版本号以及3个字节的全局标志位后,得到数据文件;
向数据文件继续添加1个字节的标签,值为0x05;添加3字节标志位,值为0;添加4字节的长度字节,指示后续添加的第一随机数的长度;将第一随机数写入文件中;
向数据文件继续添加1个字节的标签,值为0x06;添加3字节标志位,值为0;添加4字节的长度字节,指示后续添加的第二随机数的长度;将第二随机数写入文件中;
向数据文件继续添加1个字节的标签,值为0x01;添加3字节标志位,设置位5、位3、位2、位0的值为1;添加4字节的长度字节,指示后续添加的第一代码加密结果的长度;将第一代码加密结果写入文件中。
向数据文件继续添加1个字节的标签,值为0x02;添加3字节标志位,设置位5、位3、位1、位0的值为1;添加4字节的长度字节,指示后续添加的第二代码加密结果的长度;将第二代码加密结果写入文件中。
向数据文件继续添加1个字节的标签,值为0x03;添加3字节标志位,设置位5、位4的值为1;添加4字节的长度字节,指示后续添加的当前用户名的长度;将当前用户名写入文件中。其中,用户名用于登录与本发明配套的一种加密配置文件生成工具。
向数据文件继续添加1个字节的标签,值为0x04;添加3字节标志位,设置位5、位4的值为1;添加4字节的长度字节,指示后续添加的生成文件的时间日期的长度;将生成文件的时间日期写入文件中。
如果存在配置文件如参数配置文件、铃声文件、LOGO文件、动画文件、语言翻译文件以及字库文件等,并已经生成了对应的加密数据片段,按照上述添加其他数据的方法添加这部分数据即可,不同的是需要将标签值设置为与配置文件对应的标签值,并根据数据片段的实际长度设置长度字段的值。如果存在多个参数配置文件,参照本步骤连续添加多个文件即可。
其中,在上述加长文件的生成步骤中,各标签值取值对应的含义如下表所示:
Figure BDA0004076209990000111
Figure BDA0004076209990000121
其中,在上述加长文件的生成步骤中,各标志位取值的含义如下表所示:
Figure BDA0004076209990000122
与现有技术相比,本发明通过向数据文件中添加配置数据以及其对应的标签、标志位、长度字节,用户可根据所述标签、标志位以及长度字节区分不同配置数据,同时也提高了解密时的效率。
对于步骤S104,具体的,所述计算所述加长文件中所有数据的SHA-256校验和值,将所述SHA-256校验和值写入所述加长文件中,得到加密配置文件,具体包括:
对所述加长文件中的所有数据,通过哈希运算计算所述所有数据的SHA-256校验和值;
向所述加长文件中添加与所述SHA-256校验和值对应的标签、标志位以及长度字节,再添加所述SHA-256校验和值到所述加长文件中,得到加密配置文件。
在一个优选的实施例中,参见图3,计算添加到加长文件中的所有数据的SHA-256,得到SHA-256校验和值。向加长文件中继续添加1个字节的标签,值为0x10;添加3个字节的标志位,值为0;添加4个字节的长度字节,指示后续添加的SHA-256校验和值的长度;将SHA-256校验和值写入加长文件中,得到最终的加密配置文件。
与现有技术相比,本发明通过计算加长文件中所有数据的SHA-256校验和值,能够使用户通过所述SHA-256校验和值检测加密配置文件是否被损坏,提高配置文件的安全性。
进一步的,参见图3,所述加密配置文件的格式具体包括:
字段一,为文件类型魔数,用于判断文件类型;
字段二,为版本号,用于标记当前配置文件的版本号;
字段三,为全局标志位,用于进行格式扩展;
字段四,为标签,用于表示字段七的类型;
字段五,为标志位,用于表示字段七的加密类型;
字段六,为长度字节,用于表示字段七的字节长度;
字段七,为值数据,其中包括所述加密数据片段;
字段八,为一组或多组包含标签、标志位、长度、值数据的配置数据;
字段九,为校验和值标签,用于表示字段十二为校验和值;
字段十,为校验和值标志位,用于表示字段十二的加密类型;
字段十一,为校验和值长度字节,用于表示字段十二的字节长度;
字段十二,为字段一到字段八中数据的SHA-256校验和值,用于检查文件传输过程中的损坏情况;
各字段按照预设顺序排列,共同组成所述加密配置文件。
参见图4,是本发明一实施例提供的一种加密配置生成装置的结构示意图,包括:密钥生成模块201、加密模块202、加长文件生成模块203以及加密配置文件生成模块204;
所述密钥生成模块201用于分别对客户代码与型号代码进行填充扩展,得到第一代码与第二代码,同时,生成第一随机数与第二随机数,利用所述第一代码、第二代码、第一随机数与第二随机数进行计算,得到数据密钥;
所述加密模块202用于利用所述数据密钥对若干个配置文件进行加密,得到若干个加密数据片段;其中,每个所述加密数据片段对应一个配置文件;
所述加长文件生成模块203用于创建数据文件,向所述数据文件中添加所述若干个加密数据片段,得到加长文件;
所述加密配置文件生成模块204用于计算所述加长文件中所有数据的SHA-256校验和值,将所述SHA-256校验和值写入所述加长文件中,得到加密配置文件。
与现有技术相比,本发明实施例公开的加密配置文件生成装置通过利用客户代码与型号代码进行一系列运算得到数据密钥,利用所述数据密钥,选择多种不同的加密算法对需要添加至CPE的若干个配置文件进行加密,能够在不修改固件的情况下,生成加密配置文件以满足客户的多样定制需求,提高了添加配置文件时的便捷性与安全性。
对于所述一种加密配置生成装置,具体的,所述密钥生成模块201还包括:字节填充单元、运算单元、代码填充单元以及数据密钥获取单元;
所述字节填充单元用于通过I SO10126填充方式分别对所述客户代码与型号代码进行字节填充,得到所述第一代码与所述第二代码,同时,生成所述第一随机数与所述第二随机数;
所述运算单元用于利用所述第一随机数,通过HMAC-MD5算法对所述第一代码进行运算,得到所述第一运算结果;利用所述第二随机数,通过HMAC-SHA-1算法对所述第二代码进行运算,得到所述第二运算结果;
所述代码填充单元用于将所述第一运算结果填充到所述第一代码中,得到第一数据,将所述第二运算结果填充到所述第二代码中,得到第二数据;
所述数据密钥获取单元用于利用所述第二数据,通过HMAC-SHA-256算法对所述第一数据进行运算,得到所述数据密钥。
与现有技术相比,本发明实施例提供的加密配置文件生成装置通过对客户代码和型号代码进行填充扩展,将填充后得到的代码分别与两个随机生成的随机数进行一系列运算后,能够得到用户专属的数据密钥,通过所述数据密钥对配置文件进行加密,能提高添加配置文件时的安全性。
对于所述一种加密配置文件生成装置,具体的,所述加长文件生成模块203还包括:数据文件生成单元以及数据片段添加单元;
所述数据文件生成单元用于创建空文件,依次向所述空文件中写入文件类型魔数、版本号以及全局标志位,得到所述数据文件;
所述数据片段添加单元用于向所述数据文件中添加所述若干个加密数据片段,得到所述加长文件。
作为加长文件生成模块203的一种优选的实施例,所述加长文件中的数据还包括:
所述第一随机数、所述第二随机数、所述第一加密结果、所述第二加密结果、用户名以及与所有数据一一对应的若干个标签、若干个标志位与若干个长度字节;其中,所述标签用于表示与标签对应的数据的类型,所述标志位用于表示与标志位对应的数据使用的加密算法类型,所述长度字节用于表示与长度字节对应的数据的字节长度。
与现有技术相比,本发明实施例提供的加密配置文件生成装置通过向数据文件中添加配置数据以及其对应的标签、标志位、长度字节,用户可根据所述标签、标志位以及长度字节区分不同配置数据,同时也提高了解密时的效率。
对于所述一种加密配置文件生成装置,具体的,所述加密配置文件生成模块204还包括:校验和值计算单元以及校验和值添加单元;
所述校验和值计算单元用于对所述加长文件中的所有数据,通过哈希运算计算所述所有数据的SHA-256校验和值;
所述校验和值添加单元用于向所述加长文件中添加与所述SHA-256校验和值对应的标签、标志位以及长度字节,再添加所述SHA-256校验和值到所述加长文件中,得到加密配置文件。
与现有技术相比,本发明实施例提供的加密配置文件生成装置通过计算加长文件中所有数据的SHA-256校验和值,能够使用户通过所述SHA-256校验和值检测加密配置文件是否被损坏,提高配置文件的安全性。
参见图5,是本发明一实施例提供的一种加密配置文件解密方法的流程示意图,包括:
S301:获取加密配置文件,其中,所述加密配置文件包括第一校验和值、第一加密数据片段、第三随机数、第四随机数、第三加密结果以及第四加密结果;
S302:找到所述第一校验和值对应的第一标签,通过哈希运算计算加密配置文件中所述第一标签之前所有数据的第二校验和值,对比所述第一校验和值与所述第二校验和值,当所述第一检验和值与所述第二校验和值相同时,对加密配置文件进行分析;
S303:通过对所述第三随机数与所述第四随机数计算得到第一临时密钥,通过所述第一临时密钥分别对加密配置文件中的第三加密结果与第四加密结果进行解密,得到第三代码与第四代码,分别对所述第三代码与第四代码进行去填充操作,得到所述加密配置文件中的客户代码和型号代码;
S304:利用所述第三代码、第四代码、第三随机数以及第四随机数进行计算,得到第一数据密钥,通过所述第一数据密钥对所述第一加密数据片段进行解密,得到所述加密配置文件中的若干个配置文件。
对于步骤S302,具体的,所述找到所述第一校验和值对应的第一标签,通过哈希运算计算加密配置文件中所述第一标签之前所有数据的第二校验和值,具体包括:
找到所述加密配置文件中标签值为0x10的第一标签,获取所述加密配置文件中所有写在所述第一标签之前的第二数据,并通过哈希算法计算所述第二数据的SHA-256校验和值,作为所述第二校验和值。
对于步骤S303,具体的,所述通过对所述第三随机数与所述第四随机数计算得到第一临时密钥,具体包括:
利用所述第四随机数,通过HMAC-SHA-256算法对所述第三随机数执行运算,得到所述第一临时密钥。
对于步骤S303,进一步的,所述分别对所述第三代码与第四代码进行去填充操作,得到所述加密配置文件中的客户代码和型号代码,具体包括:
所述第三代码与所述第四代码均为通过I SO10126填充方式填充后的字符串数据,在获取所述第三代码与所述第四代码后,根据I SO10126填充方式,对所述第三代码执行去填充操作,得到所述客户代码,对所述第四代码执行去填充操作,得到所述型号代码。
对于步骤S304,具体的,所述利用所述第三代码、第四代码、第三随机数以及第四随机数进行计算,得到第一数据密钥,具体包括:
利用所述第三随机数,通过HMAC-MD5算法对所述第三代码进行运算,得到第三运算结果;利用所述第四随机数,通过HMAC-SHA-1算法对所述第四代码进行运算,得到第四运算结果;
将所述第三运算结果填充到所述第三代码中,得到第三数据,将所述第四运算结果填充到所述第四代码中,得到第四数据;
利用所述第四数据,通过HMAC-SHA-256算法对所述第三数据进行运算,得到所述第一数据密钥。
在一个优选的实施例中,解密加密配置文件的过程包括:
获取加密配置文件,找到其中的SHA-256校验和标签,再对该标签之前的数据执行SHA-256计算,对比加密配置文件中保存的SHA-256校验和值和自己计算得到的SHA-256校验和值,若相同,则继续处理,否则停止文件分析。
获取加密配置文件中随机数1和随机数2的值,利用随机数2作为密钥,通过HMAC-SHA-256算法对随机数1执行运算,得到临时密钥;
通过得到的临时密钥,对加密配置文件中的客户代码加密结果和型号代码加密结果进行解密,得到使用I SO10126填充方式填充后的客户代码和型号代码。
通过计算得到数据秘钥,使用数据秘钥对配置数据部分进行解密,得到添加到加密配置文件中的参数配置文件、铃声文件、字库文件、LOGO等配置文件。
对I SO10126填充方式填充后的客户代码和型号代码进行去填充操作,得到原始的客户代码和型号代码。
比较客户代码和型号代码是否和设备中已经存在的客户代码和型号代码是否相同,相同则允许更新其他文件,否则不再继续处理。
将获得到的参数配置文件、铃声文件、字库文件、LOGO文件、动画文件依次放到固件事先定义的文件夹下,即完成加密配置的升级。
参见图6,是本发明一实施例提供的一种加密配置文件解密装置的结构示意图,包括:文件获取模块401、对比模块402、代码获取模块403以及配置文件获取模块404;
所述文件获取模块401用于获取加密配置文件,其中,所述加密配置文件包括第一校验和值、第一加密数据片段、第三随机数、第四随机数、第三加密结果以及第四加密结果;
所述对比模块402用于找到所述第一校验和值对应的第一标签,通过哈希运算计算加密配置文件中所述第一标签之前所有数据的第二校验和值,对比所述第一校验和值与所述第二校验和值,当所述第一检验和值与所述第二校验和值相同时,对加密配置文件进行分析;
所述代码获取模块403用于通过对所述第三随机数与所述第四随机数计算得到第一临时密钥,通过所述第一临时密钥分别对加密配置文件中的第三加密结果与第四加密结果进行解密,得到第三代码与第四代码,分别对所述第三代码与第四代码进行去填充操作,得到所述加密配置文件中的客户代码和型号代码;
所述配置文件获取模块404用于利用所述第三代码、第四代码、第三随机数以及第四随机数进行计算,得到第一数据密钥,通过所述第一数据密钥对所述第一加密数据片段进行解密,得到所述加密配置文件中的若干个配置文件。
对于所述一种加密配置文件解密装置,具体的,所述对比模块402还包括:哈希计算单元;
所述哈希计算单元用于找到所述加密配置文件中标签值为0x10的第一标签,获取所述加密配置文件中所有写在所述第一标签之前的第二数据,并通过哈希算法计算所述第二数据的SHA-256校验和值,作为所述第二校验和值。
对于所述一种加密配置文件解密装置,具体的,所述代码获取模块403还包括:临时密钥计算单元、客户代码及型号代码获取单元;
所述临时密钥计算单元用于利用所述第四随机数,通过HMAC-SHA-256算法对所述第三随机数执行运算,得到所述第一临时密钥;
所述客户代码及型号代码获取单元用于在获取所述第三代码与所述第四代码后,根据I SO10126填充方式,对所述第三代码执行去填充操作,得到所述客户代码,对所述第四代码执行去填充操作,得到所述型号代码。
对于所述一种加密配置文件解密装置,具体的,所述配置文件获取单元404还包括:代码运算单元、运算结果填充单元以及数据密钥计算单元;
所述代码运算单元用于利用所述第三随机数,通过HMAC-MD5算法对所述第三代码进行运算,得到第三运算结果;利用所述第四随机数,通过HMAC-SHA-1算法对所述第四代码进行运算,得到第四运算结果;
所述运算结果填充单元用于将所述第三运算结果填充到所述第三代码中,得到第三数据,将所述第四运算结果填充到所述第四代码中,得到第四数据;
所述数据密钥计算单元用于利用所述第四数据,通过HMAC-SHA-256算法对所述第三数据进行运算,得到所述第一数据密钥。
综上所述,本发明实施例提供的一种加密配置文件生成方法通过扩展标签,能够在不修改固件的情况下,向设备添加不同类型的数据信息,从而实现客户的多样化定制需求。另外,通过设置不同标志位,能够提供多种数据加密算法,还能做到不同数据使用不同加密算法进行加密,提高了配置文件的安全性。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种加密配置文件生成方法,其特征在于,包括:
分别对客户代码与型号代码进行填充扩展,得到第一代码与第二代码,同时,生成第一随机数与第二随机数,利用所述第一代码、第二代码、第一随机数与第二随机数进行计算,得到数据密钥;
依次利用所述数据密钥对若干个配置文件进行加密,得到若干个加密数据片段;其中,每个所述加密数据片段对应一个配置文件;
创建数据文件,向所述数据文件中添加所述若干个加密数据片段,得到加长文件;
计算所述加长文件中所有数据的SHA-256校验和值,将所述SHA-256校验和值写入所述加长文件中,得到加密配置文件。
2.如权利要求1所述的加密配置文件生成方法,其特征在于,所述分别对客户代码与型号代码进行填充扩展,得到第一代码与第二代码,同时,生成第一随机数与第二随机数,利用所述第一代码、第二代码、第一随机数与第二随机数进行计算,得到数据密钥,具体包括:
通过ISO10126填充方式分别对所述客户代码与型号代码进行字节填充,得到所述第一代码与所述第二代码,同时,生成所述第一随机数与所述第二随机数;
利用所述第一随机数,通过HMAC-MD5算法对所述第一代码进行运算,得到所述第一运算结果;利用所述第二随机数,通过HMAC-SHA-1算法对所述第二代码进行运算,得到所述第二运算结果;
将所述第一运算结果填充到所述第一代码中,得到第一数据,将所述第二运算结果填充到所述第二代码中,得到第二数据;
利用所述第二数据,通过HMAC-SHA-256算法对所述第一数据进行运算,得到所述数据密钥。
3.如权利要求2所述的加密配置文件生成方法,其特征在于,在得到所述第一随机数与所述第二随机数后,还包括:
利用所述第二随机数,通过HMAC-SHA-256算法对所述第一随机数进行运算得到临时密钥;
利用所述临时密钥,通过Blowfish算法对所述第一代码进行运算,得到第一加密结果,通过3DES算法对所述第二代码进行运算,得到第二加密结果。
4.如权利要求1所述的加密配置文件生成方法,其特征在于,所述创建数据文件,向所述数据文件中添加所述若干个加密数据片段,得到加长文件,具体包括:
创建空文件,依次向所述空文件中写入文件类型魔数、版本号以及全局标志位,得到所述数据文件;
向所述数据文件中添加所述若干个加密数据片段,得到所述加长文件。
5.如权利要求4所述的加密配置文件生成方法,其特征在于,所述加长文件中的数据还包括:
所述第一随机数、所述第二随机数、所述第一加密结果、所述第二加密结果、用户名以及与所有数据一一对应的若干个标签、若干个标志位与若干个长度字节;其中,所述标签用于表示与标签对应的数据的类型,所述标志位用于表示与标志位对应的数据使用的加密算法类型,所述长度字节用于表示与长度字节对应的数据的字节长度。
6.如权利要求1所述的加密配置文件生成方法,其特征在于,所述计算所述加长文件中所有数据的SHA-256校验和值,将所述SHA-256校验和值写入所述加长文件中,得到加密配置文件,具体包括:
对所述加长文件中的所有数据,通过哈希运算计算所述所有数据的SHA-256校验和值;
向所述加长文件中添加与所述SHA-256校验和值对应的标签、标志位以及长度字节,再添加所述SHA-256校验和值到所述加长文件中,得到加密配置文件。
7.如权利要求1所述的加密配置文件生成方法,其特征在于,所述加密配置文件的格式具体包括:
字段一,为文件类型魔数,用于判断文件类型;
字段二,为版本号,用于标记当前配置文件的版本号;
字段三,为全局标志位,用于进行格式扩展;
字段四,为标签,用于表示字段七的类型;
字段五,为标志位,用于表示字段七的加密类型;
字段六,为长度字节,用于表示字段七的字节长度;
字段七,为值数据,其中包括所述加密数据片段;
字段八,为一组或多组包含标签、标志位、长度、值数据的配置数据;
字段九,为校验和值标签,用于表示字段十二为校验和值;
字段十,为校验和值标志位,用于表示字段十二的加密类型;
字段十一,为校验和值长度字节,用于表示字段十二的字节长度;
字段十二,为字段一到字段八中数据的SHA-256校验和值,用于检查文件传输过程中的损坏情况;
各字段按照预设顺序排列,共同组成所述加密配置文件。
8.一种加密配置文件生成装置,其特征在于,包括:密钥生成模块、加密模块、加长文件生成模块以及加密配置文件生成模块;
所述密钥生成模块用于分别对客户代码与型号代码进行填充扩展,得到第一代码与第二代码,同时,生成第一随机数与第二随机数,利用所述第一代码、第二代码、第一随机数与第二随机数进行计算,得到数据密钥;
所述加密模块用于利用所述数据密钥对若干个配置文件进行加密,得到若干个加密数据片段;其中,每个所述加密数据片段对应一个配置文件;
所述加长文件生成模块用于创建数据文件,向所述数据文件中添加所述若干个加密数据片段,得到加长文件;
所述加密配置文件生成模块用于计算所述加长文件中所有数据的SHA-256校验和值,将所述SHA-256校验和值写入所述加长文件中,得到加密配置文件。
9.一种加密配置文件的解密方法,其特征在于,包括:
获取加密配置文件,其中,所述加密配置文件包括第一校验和值、第一加密数据片段、第三随机数、第四随机数、第三加密结果以及第四加密结果;
找到所述第一校验和值对应的第一标签,通过哈希运算计算加密配置文件中所述第一标签之前所有数据的第二校验和值,对比所述第一校验和值与所述第二校验和值,当所述第一检验和值与所述第二校验和值相同时,对加密配置文件进行分析;
通过对所述第三随机数与所述第四随机数计算得到第一临时密钥,通过所述第一临时密钥分别对加密配置文件中的第三加密结果与第四加密结果进行解密,得到第三代码与第四代码,分别对所述第三代码与第四代码进行去填充操作,得到所述加密配置文件中的客户代码和型号代码;
利用所述第三代码、第四代码、第三随机数以及第四随机数进行计算,得到第一数据密钥,通过所述第一数据密钥对所述第一加密数据片段进行解密,得到所述加密配置文件中的若干个配置文件。
10.一种加密配置文件的解密装置,其特征在于,包括:文件获取模块、对比模块、代码获取模块以及配置文件获取模块;
所述文件获取模块用于获取加密配置文件,其中,所述加密配置文件包括第一校验和值、第一加密数据片段、第三随机数、第四随机数、第三加密结果以及第四加密结果;
所述对比模块用于找到所述第一校验和值对应的第一标签,通过哈希运算计算加密配置文件中所述第一标签之前所有数据的第二校验和值,对比所述第一校验和值与所述第二校验和值,当所述第一检验和值与所述第二校验和值相同时,对加密配置文件进行分析;
所述代码获取模块用于通过对所述第三随机数与所述第四随机数计算得到第一临时密钥,通过所述第一临时密钥分别对加密配置文件中的第三加密结果与第四加密结果进行解密,得到第三代码与第四代码,分别对所述第三代码与第四代码进行去填充操作,得到所述加密配置文件中的客户代码和型号代码;
所述配置文件获取模块用于利用所述第三代码、第四代码、第三随机数以及第四随机数进行计算,得到第一数据密钥,通过所述第一数据密钥对所述第一加密数据片段进行解密,得到所述加密配置文件中的若干个配置文件。
CN202310109374.6A 2023-02-10 2023-02-10 一种加密配置文件生成方法及装置 Active CN116305193B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310109374.6A CN116305193B (zh) 2023-02-10 2023-02-10 一种加密配置文件生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310109374.6A CN116305193B (zh) 2023-02-10 2023-02-10 一种加密配置文件生成方法及装置

Publications (2)

Publication Number Publication Date
CN116305193A true CN116305193A (zh) 2023-06-23
CN116305193B CN116305193B (zh) 2024-01-26

Family

ID=86785994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310109374.6A Active CN116305193B (zh) 2023-02-10 2023-02-10 一种加密配置文件生成方法及装置

Country Status (1)

Country Link
CN (1) CN116305193B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060285684A1 (en) * 2001-07-30 2006-12-21 Rogaway Phillip W Method and apparatus for facilitating efficient authenticated encryption
CN101917267A (zh) * 2010-08-13 2010-12-15 福州星网视易信息系统有限公司 一种基于可存储加密狗的加密文件的随机密钥保存方法
CN103914662A (zh) * 2013-09-17 2014-07-09 亚欧宝龙信息安全技术(湖南)有限公司 一种基于分区的文件加密系统的访问控制方法和装置
CN111324901A (zh) * 2020-02-19 2020-06-23 陈灿阳 一种用于创建和解密企业安全加密文件的方法
CN112131595A (zh) * 2020-09-30 2020-12-25 郑州信大捷安信息技术股份有限公司 一种SQLite数据库文件安全存取方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060285684A1 (en) * 2001-07-30 2006-12-21 Rogaway Phillip W Method and apparatus for facilitating efficient authenticated encryption
CN101917267A (zh) * 2010-08-13 2010-12-15 福州星网视易信息系统有限公司 一种基于可存储加密狗的加密文件的随机密钥保存方法
CN103914662A (zh) * 2013-09-17 2014-07-09 亚欧宝龙信息安全技术(湖南)有限公司 一种基于分区的文件加密系统的访问控制方法和装置
CN111324901A (zh) * 2020-02-19 2020-06-23 陈灿阳 一种用于创建和解密企业安全加密文件的方法
CN112131595A (zh) * 2020-09-30 2020-12-25 郑州信大捷安信息技术股份有限公司 一种SQLite数据库文件安全存取方法及装置

Also Published As

Publication number Publication date
CN116305193B (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
CN109429222B (zh) 一种对无线网络设备升级程序及通讯数据加密的方法
US6782473B1 (en) Network encryption system
JP5412414B2 (ja) 検索可能暗号処理システム
CN103546576B (zh) 一种嵌入式设备远程自动升级方法和系统
JP5914604B2 (ja) 暗号化されたファイルを復号化する装置およびその方法
CN106878013B (zh) 一种文件的加密、解密方法和装置
US20080212770A1 (en) Key Information Generating Method and Device, Key Information Updating Method, Tempering Detecting Method and Device, and Data Structure of Key Information
CN108830096B (zh) 数据处理方法、装置、电子设备及存储介质
CN111404682A (zh) 一种Android环境密钥分段处理方法及装置
CN106778292B (zh) 一种Word加密文档的快速还原方法
CN114978525B (zh) 基于bim的数据安全认证方法及系统
CN111431917B (zh) 升级包加密方法及装置,升级包解密方法及装置
Park et al. A methodology for the decryption of encrypted smartphone backup data on android platform: A case study on the latest samsung smartphone backup system
US20240178999A1 (en) Method for data encryption, terminal device and non-transitory computer-readable storage medium
CN112818404B (zh) 数据访问权限的更新方法、装置、设备及可读存储介质
CN116305193B (zh) 一种加密配置文件生成方法及装置
CN113761554A (zh) 数据加密方法、解密方法及相关装置、设备和介质
CN108710804A (zh) 一种计算机uefi固件的带硬件加密快速更新方法
CN111988133B (zh) 系统sm4加密解密验证方法、装置、设备、及存储介质
CN106341384A (zh) 用于促进安全通信的方法
CN116132041A (zh) 密钥处理方法、装置、存储介质及电子设备
CN103377327A (zh) Php程序保护方法及系统
CN106571928B (zh) 一种浏览器管理的方法及装置
CN114329568A (zh) 文件加密方法、装置、系统平台及文件解密方法
CN116781265A (zh) 一种数据加密的方法和装置

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
CB02 Change of applicant information

Address after: 510000 room 1301, No. 37, Jinlong street, Xiangjiang financial and business center, Nansha District, Guangzhou City, Guangdong Province (office only)

Applicant after: Guangzhou Tongze Kangwei Technology Co.,Ltd.

Address before: 510000 room 1301, No. 37, Jinlong street, Xiangjiang financial and business center, Nansha District, Guangzhou City, Guangdong Province (office only)

Applicant before: Guangzhou Tongze Kangwei Intelligent Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant