CN116455572B - 数据加密方法、装置及设备 - Google Patents

数据加密方法、装置及设备 Download PDF

Info

Publication number
CN116455572B
CN116455572B CN202310715366.6A CN202310715366A CN116455572B CN 116455572 B CN116455572 B CN 116455572B CN 202310715366 A CN202310715366 A CN 202310715366A CN 116455572 B CN116455572 B CN 116455572B
Authority
CN
China
Prior art keywords
data
encryption
key
protection
parameters
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.)
Active
Application number
CN202310715366.6A
Other languages
English (en)
Other versions
CN116455572A (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.)
Beijing Hua'an Tiancheng Intelligent Technology Co ltd
Original Assignee
Beijing Hua'an Tiancheng 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 Beijing Hua'an Tiancheng Intelligent Technology Co ltd filed Critical Beijing Hua'an Tiancheng Intelligent Technology Co ltd
Priority to CN202310715366.6A priority Critical patent/CN116455572B/zh
Publication of CN116455572A publication Critical patent/CN116455572A/zh
Application granted granted Critical
Publication of CN116455572B publication Critical patent/CN116455572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • 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
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种数据加密方法、装置及设备,涉及信息安全技术领域,能够灵活适配到不同加密保护强度,在保证数据保护强度的基础上提升数据加密的生产效率。其中方法包括:响应于数据加密指令,获取业务范围内选定的加密算法参数,根据加密算法参数生成密钥文件,该加密参数以及密钥,接收待加密的明文数据,根据明文数据对应的保护特征从密钥文件中选取与保护特征相匹配的密钥配置信息,根据密钥配置信息在数据保护范围内随机生成加密参数,使用加密参数对明文数据与密钥进行加密处理,得到密文数据。

Description

数据加密方法、装置及设备
技术领域
本申请涉及信息安全技术领域,尤其是涉及到一种数据加密方法、装置及设备。
背景技术
随着物联网和嵌入式软件的广泛应用,信息安全问题变得越来越重要。芯片的个性化是芯片生产工厂中的一个重要工序,在这道工序过程中,特别是个性化数据中某些敏感数据的保护至关重要。
目前在相关质量管理体系认证的标准下提出了对敏感数据的保护要求和分级标准,但并没有细致的数据保护标准和实施方式。个性化数据作为生产过程中的敏感数据,如果完全按照相关质量管理体系的标准使用硬件加密设备来进行数据加密及保护,特别在涉及到一定保护级别要求的情况,需要还需要频繁更换硬件加密设备,增加了硬件加密设备的连接成本,使得硬件加密设备投入的经济成本较高,无法保证数据加密的生产效率。
发明内容
有鉴于此,本申请提供了一种数据加密方法、装置及设备,主要目的在于解决现有技术中硬件加密设备投入的经济成本较高,无法保证数据加密的生产效率的问题。
根据本申请的第一个方面,提供了一种数据加密方法,包括:
响应于数据加密指令,获取业务范围内选定的加密算法参数,根据所述加密算法参数生成密钥文件,所述密钥文件中记录有算法覆盖范围内随机生成的具有不同保护因子的密钥配置信息;
接收待加密的明文数据,根据所述明文数据对应的保护特征从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息;
根据所述密钥配置信息在数据保护范围内随机生成加密参数;
使用所述加密参数对所述明文数据进行加密处理,得到密文数据。
进一步地,所述响应于数据加密指令,获取业务范围内选定的加密算法参数,根据所述加密算法参数生成密钥文件,具体包括:
响应于数据加密指令,根据所述数据加密指令确定数据保护强度,在业务范围内选定所述数据保护强度范围内覆盖的加密算法参数;
按照设定的结构体格式将所述加密算法参数写入至目标文件中,生成密钥文件。
进一步地,在所述按照设定的结构体格式将所述加密算法参数写入至目标文件中,生成密钥文件之前,所述方法还包括:
定义结构体对象,在所述结构体对象中生成不同位置的存储字段,根据所述加密算法参数与所述结构体对象中存储字段之间的属性匹配关系,构建设定的结构体格式;
相应地,所述按照设定的结构体格式将所述加密算法参数写入至目标文件中,生成密钥文件,具体包括:
按照设定的结构体格式确定密钥文件结构以及密钥文件结构对加密算法参数的属性条件,在所述属性条件的限制范围内将所述加密算法参数写入至目标文件中,以使得目标文件符合所述密钥文件结构,生成密钥文件。
进一步地,所述接收待加密的明文数据,根据所述明文数据对应的保护特征从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息,具体包括:
接收待加密的明文数据,按照所述明文数据对应的保护特征将所述明文数据拆分为不同加密强度需求的数据块;
根据所述明文数据中不同数据块需求的加密强度从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息。
进一步地,所述根据所述明文数据中不同数据块需求的加密强度从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息,具体包括:
根据所述明文数据中不同数据块需求的加密强度,确定数据块在加密过程中适用的算法覆盖范围;
根据所述数据块在加密过程中适用的算法覆盖范围,从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息。
进一步地,所述根据所述密钥配置信息在数据保护范围内随机生成加密参数,具体包括:
根据所述密钥配置信息在算法覆盖范围内确定明文数据中每个数据块匹配的加密算法;
使用所述明文数据中每个数据块匹配的加密算法在数据保护范围内随机生成加密参数。
进一步地,在所述使用所述加密参数对所述明文数据进行加密处理,得到密文数据之前,所述方法还包括:
使用数字签名算法为所述明文数据中每个数据块生成校验值;
在所述使用所述加密参数对所述明文数据进行加密处理,得到密文数据之后,所述方法还包括:
以每个数据块对应的校验值作为解密验证参数,将所述校验值、所述加密参数以及所述密文数据传输至数据使用方,以使得在接收到数据使用方触发的数据解密指令之后,调用所述密钥文件对所述密文数据进行解密处理,利用所述校验值对解密得到的明文数据进行一致性验证,在所述解密得到的明文数据通过一致性校验后,将所述解密得到的明文数据写入至芯片中。
根据本申请的第二个方面,提供了一种数据加密装置,包括:
获取单元,用于响应于数据加密指令,获取业务范围内选定的加密算法参数,根据所述加密算法参数生成密钥文件,所述密钥文件中记录有算法覆盖范围内随机生成的具有不同保护因子的密钥配置信息;
选取单元,用于接收待加密的明文数据,根据所述明文数据对应的保护特征从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息;
第一生成单元,用于所述密钥配置信息在数据保护范围内随机生成加密参数;
加密单元,用于使用所述加密参数对所述明文数据进行加密处理,得到密文数据。
进一步地,所述获取单元包括:
选定模块,用于响应于数据加密指令,根据所述数据加密指令确定数据保护强度,在业务范围内选定所述数据保护强度范围内覆盖的加密算法参数;
生成模块,用于按照设定的结构体格式将所述加密算法参数写入至目标文件中,生成密钥文件。
进一步地,所述获取单元,还包括:
定义模块,用于在所述按照设定的结构体格式将所述加密算法参数写入至目标文件中,生成密钥文件之前,定义结构体对象,在所述结构体对象中生成不同位置的存储字段,根据所述加密算法参数与所述结构体对象中存储字段之间的属性匹配关系,构建设定的结构体格式;
相应地,所述生成模块,具体用于按照设定的结构体格式确定密钥文件结构以及密钥文件结构对加密算法参数的属性条件,在所述属性条件的限制范围内将所述加密算法参数写入至目标文件中,以使得目标文件符合所述密钥文件结构,生成密钥文件。
进一步地,所述选取单元包括:
拆分模块,用于接收待加密的明文数据,按照所述明文数据对应的保护特征将所述明文数据拆分为不同加密强度需求的数据块;
选取模块,用于根据所述明文数据中不同数据块需求的加密强度从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息。
进一步地,所述选取模块,具体用于根据所述明文数据中不同数据块需求的加密强度,确定数据块在加密过程中适用的算法覆盖范围;根据数据块在加密过程中适用的算法覆盖范围从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息。
进一步地,所述第一生成单元,具体用于根据所述密钥配置信息在算法覆盖范围内确定明文数据中每个数据块匹配的加密算法;使用所述明文数据中每个数据块匹配的加密算法在数据保护范围内随机生成加密参数。
进一步地,所述装置还包括:
第二生成单元,用于在所述使用所述加密参数对所述明文数据进行加密处理,得到密文数据之前,使用数字签名算法为所述明文数据中每个数据块生成校验值;
传输单元,用于用于在所述使用所述加密参数对所述明文数据进行加密处理,得到密文数据之前,以每个数据块对应的校验值作为解密验证参数,将所述校验值、所述加密参数以及所述密文数据传输至数据使用方,以使得在接收到数据使用方触发的数据解密指令之后,调用所述密钥文件对所述密文数据进行解密处理,利用所述校验值对解密得到的明文数据进行一致性验证,在所述解密得到的明文数据通过一致性校验后,将所述解密得到的明文数据写入至芯片中。
根据本申请的第三个方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
根据本申请的第四个方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。
借由上述技术方案,本申请提供的一种数据加密方法、装置及设备,与目前现有方式中使用硬件加密设备来实现数据加密过程相比,本申请通过响应于数据加密指令,获取业务范围内选定的加密算法参数,根据加密算法参数生成密钥文件,该加密参数以及密钥,接收待加密的明文数据,根据明文数据对应的保护特征从密钥文件中选取与保护特征相匹配的密钥配置信息,根据密钥配置信息在数据保护范围内随机生成加密参数,使用加密参数对明文数据与密钥进行加密处理,得到密文数据。整个数据加密过程无需使用硬件加密设备,通过生成密钥文件来维护具有不同保护因子的密钥配置信息以及密钥,使得加密过程能够灵活适配到不同加密保护强度,在保证数据保护强度的基础上提升数据加密的生产效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请一实施例中数据加密方法的流程示意图;
图2是图1中步骤101的一具体实施方式流程示意图;
图3是图1中步骤102的一具体实施方式流程示意图;
图4是图1中步骤103的一具体实施方式流程示意图;
图5是本申请另一实施例中数据加密方法的流程示意图;
图6是原有的数据加密流程的框图;
图7是本申请一实施例中数据加密流程的框图;
图8是本申请一实施例中数据加密装置的结构示意图;
图9是本发明实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
现在将参照若干示例性实施例来论述本发明的内容。应当理解,论述了这些实施例仅是为了使得本领域普通技术人员能够更好地理解且因此实现本发明的内容,而不是暗示对本发明的范围的任何限制。
如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实施例”和“一种实施例”要被解读为“至少一个实施例”。术语“另一个实施例”要被解读为“至少一个其他实施例”。
相关技术中,个性化数据作为生产过程中的敏感数据,如果完全按照相关质量管理体系的标准使用硬件加密设备来进行数据加密及保护,特别在涉及到一定保护级别要求的情况,需要还需要频繁更换硬件加密设备,增加了硬件加密设备的连接成本,使得硬件加密设备投入的经济成本较高,无法保证数据加密的生产效率。
为了解决该问题,本实施例提供了一种数据加密方法,如图1所示,该方法应用于数据加密系统对应的服务端,包括如下步骤:
101、响应于数据加密指令,获取业务范围内选定的加密算法参数,根据所述加密算法参数生成密钥文件。
其中,密钥文件中记录有算法覆盖范围内随机生成的具有不同保护因子的密钥配置信息,保护因子可以是数据加密过程中所使用的保护要求,例如,保护场景、保护强度、保护范围以及保护标准等等,密钥配置信息可以包括密钥算法的选择配置、密钥算法的使用配置以及密钥文件的结构配置等。
通常情况下,业务范围内工厂会产生大量的项目,个性化数据作为项目研发的结晶,其安全性尤为重要。为了保证个性化数据的安全,可以将个性化数据中的敏感信息进行加密,以密文的形式下发工厂进行生产,避免了工厂接触文件的风险。考虑到个性化数据中敏感信息覆盖范围的特殊性,不同项目具有不同的保护需求,例如,有些项目的个性化数据中敏感信息覆盖范围较大,需要使用强度较高的加密算法对敏感信息进行加密,有些项目的个性化数据中敏感信息在特定传输场景中存在泄露风险,需要在限定场景中对敏感信息进行加密。
在本实施例中,加密算法参数至少包括密钥算法范围、密钥版本数、密钥指数等。可以理解的是,加密算法参数包括了生成密钥的基本组成元素,使用不同的密钥算法会生成不同的密钥,具体根据加密算法参数生成密钥文件的过程中,可以针对密钥算法范围内中每个密钥算法,使用密钥算法在不同保护因子的影响下生成不同的密钥配置信息,这样使用不同的密钥配置信息会生成不同的密钥,针对同样的信息进行密钥加密会得到不同的加密结果,进一步针对不同密钥。考虑到密钥生成过程是随机的,密钥算法在不同保护因子的影响下可相应加入不同的组成成分或者对组成成分进行调整,例如,针对保护场景可相应加入场景安全成分,针对保护范围可相应加入节点安全成分,针对保护强度程度可对组成成分进行参数调整,以实现不同安全等级。
对于本实施例的执行主体可以为数据加密装置或设备,可以配置在数据加密系统对应的服务端,当触发数据加密指令时,通过获取业务范围内选定的加密算法参数,该加密算法参数能够满足不同的加密场景需求,进而替代了硬件加密设备对接的密钥选择的部分,然后使用加密算法参数生成的加密文件可自动选择保护密钥、保护方法、分散频次等各种密钥配置信息的组合,在不改变现有芯片生产工厂的业务处理逻辑的同时,保证数据加密过程的保护强度。
102、接收待加密的明文数据,根据所述明文数据对应的保护特征从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息。
其中,待加密的明文数据可以是芯片生产过程中个性化数据里面的一些敏感数据,这些敏感数据在写入至芯片之前是需要保护的,具体对待加密的明文数据进行保护可以是将敏感数据交付到芯片生产工厂进行芯片写入之前的环节。
为了防止数据加密过程中明文数据在传输、加密、存储等各个环节被泄露或者破坏,明文数据对应的保护特征可以包括数据机密性、完整性和可用性等。通常情况下,明文数据的保护特征可以从一定程度上反映保护要求,通过从密钥文件中选取与保护要求相匹配的密钥配置信息,能够灵活适配到不同的数据加密需求,提升数据加密的生产效率。具体地,可以根据明文数据对应的保护特征确定加密方式以及加密方式对应的保护数据类型,这里加密方式至少包括链路加密、节点加密、端对端加密等,链路加密通常为对各个环节之间传输的数据类型进行保护,节点加密通常为对初始环节和目标环节之间传输的数据类型进行保护,端对端加密通常为对目标环节和接收方之间传输的数据类型进行保护,进一步从密钥文件中选取与保护方式相匹配数据保护类型的密钥配置信息。
103、根据所述密钥配置信息在数据保护范围内随机生成加密参数。
可以理解的是,密钥文件是由密钥进行保护生成的密文,该密钥使用具有不同保护因子的密钥配置信息生成,能够灵活适配到不同数据加密场景中,具体在数据加密过程中,可根据密钥文件中密钥配置信息,选定本次数据加密使用的加密算法以及本次加密使用的密钥,然后根据加密算法的要求生成随机分散因子,将选定的密钥、加密算法以及分散因子作为加密参数输出。
这里的数据保护范围能够将加密使用的密钥和加密算法限定在固定的范围内,使得生成的加密参数与待加密的明文数据具有较高的贴合度,在脱离硬件加密设备保护的同时,显著提升数据加密效果。
104、使用所述加密参数对所述明文数据进行加密处理,得到密文数据。
可以理解的是,明文数据为在加解密过程中没有经过处理的原始数据,通过加密参数对明文数据进行加密处理后,得到的一种与原始数据对应的新数据,即为密文数据,将明文数据转换为密文数据的过程即为数据加密过程。
作为一种加密处理过程,可使用替换方式结合加密参数中选定的密钥将明文数据中每一个字符转换为密文中的一个字符。具体地,可将明文数据划分为多个密钥字符串长度大小的块,空位使用特殊字符表示,使用设定格式的字符对密钥的每个字符进行取代,针对明文数据中的每个块,使用设定计算公式将其字符用对应的整数编码与密钥中相应位置的字符的整数编码进行取代,最后将替代后的整数编码使用其他等价字符进行替换,得到密文数据。
作为另一种加密处理过程,还可使用置换方式将明文数据中的字符按照不同顺序重新排序,或者使用替换方式和置换方式相结合件将明文数据中每一个字符转换为密文中的字符,同时针对转换后密文中的字符进行重新排序,以提供更安全的数据加密结果。
本申请实施例提供的数据加密方法,与目前现有方式中使用硬件加密设备来实现数据加密过程相比,本申请通过响应于数据加密指令,获取业务范围内选定的加密算法参数,根据加密算法参数生成密钥文件,该加密参数以及密钥,接收待加密的明文数据,根据明文数据对应的保护特征从密钥文件中选取与保护特征相匹配的密钥配置信息,根据密钥配置信息在数据保护范围内随机生成加密参数,使用加密参数对明文数据与密钥进行加密处理,得到密文数据。整个数据加密过程无需使用硬件加密设备,通过生成密钥文件来维护具有不同保护因子的密钥配置信息以及密钥,使得加密过程能够灵活适配到不同加密保护强度,在保证数据保护强度的基础上提升数据加密的生产效率。
具体地,在上述实施例中,如图2所示,步骤101包括如下步骤:
201、响应于数据加密指令,根据所述数据加密指令确定数据保护强度,在业务范围内选定所述数据保护强度范围内覆盖的加密算法参数。
202、按照设定的结构体格式将所述加密算法参数写入至目标文件中,生成密钥文件。
其中,设定的结构体格式为加密算法参数写入至目标文件中的格式,基于写入至目标文件中的加密算法参数可形成密钥文件。
进一步地,考虑到密钥文件中数据保护的随机性,还可以在生成密钥文件之前,定义结构体对象,在结构体对象中生成不同位置的存储字段,根据加密算法参数与结构体对象中存储字段之间的属性匹配关系,构建设定的结构体格式。这里结构体对象中不同位置的存储字段可以包括但不局限于密钥数据的长度、密钥参数值、密钥版本等,通过加密算法参数对应不同参数的属性可确定参数匹配的存储字段,进而形成属性匹配关系,构建设定的结构体格式。
可以理解的是,在符合属性匹配关系的同时,为了保证设定的结构体对象中写入的加密算法参数能够符合算法需求,这里可以针对加密算法参数设置属性条件。相应地,在生成密钥文件的过程中,可按照设定的结构体格式确定密钥文件结构以及密钥文件结构对加密算法参数的属性条件,在属性条件的限制范围内将加密算法参数写入至目标文件中,以使得目标文件符合密钥文件结构,生成密钥文件。
在实际应用场景中,设定的结构体格式可包括以下几个组成部分,密钥文件结构体部分、密钥文件头结构体部分、密钥信息头结构体部分以及密钥数据结构体部分。
示例性的,设定的结构体格式中各个组成部分可以表示如下:
针对密钥文件结构体部分
typedef struct tagKeyInfoFile
{
KeyInfoFileHeader fileHeader; 密钥文件头
KeyInfoHeader keyInfoHeader; 密钥信息头
pKeyInfoData keyInfoDatas; 密钥数据
char fileCheck[20]; 密钥文件校验值 – 用于验证文件是否被破坏,使用校验值之前所有内容计算SHA1值
}KeyInfoFile,*pKeyInfoFile;
针对密钥文件头结构体部分
typedef struct tagKeyInfoFileHeader
{
WORD kfType; 密钥文件类型,固定为:KE
DWORD kfSize; 密钥文件大小,包含文件头大小
WORD kfReserverd1; 保留数据1,用于后续扩展
WORD kfReserverd2; 保留数据2,用于后续扩展
} KeyInfoFileHeader,*pKeyInfoFileHeader;
密钥信息头结构体
typedef struct tagKeyInfoHeader
{
char kfVersion; 密钥版本
char kfQuantity; 密钥条数
WORD kfReserverd1; 保留数据1,用于后续扩展
WORD kfReserverd2; 保留数据2,用于后续扩展
} KeyInfoHeader,*pKeyInfoHeader;
针对密钥数据结构体部分
typedef struct tagKeyInfoData
{
char kfKeyInfoDataTag; 密钥数据Tag: 85 – 密钥保护密钥密文,86 – 密钥密文
WORD kfKeyInfoDataSize; 密钥数据体后续长度
WORD kfKeyInfoParamSize; 密钥参数长度
char kfKeyInfoParamSerial; 密钥参数值1,密钥序列号
char kfKeyInfoParamReserverd1; 密钥参数保留值1,用于后续扩展
char kfKeyInfoParamReserverd1; 密钥参数保留值2,用于后续扩展
char kfKeyInfoParamReserverd1; 密钥参数保留值3,用于后续扩展
WORD kfEncKeyInfoDataSize 密钥密文长度
char * pKfEncKeyInfoData 密钥密文
WORD kfKeyCheckValueSize 密钥校验值长度
char * pKfKeyCheckValue 密钥校验值
} KeyInfoData,*pKeyInfoData;
可以理解的是,在任何安全系统中,密钥文件中密钥的管理都是一个关键环节,如果密钥得不到有效保护,很难实现数据安全。进一步地,可以在数据加密的各个参与方中建立密钥并保护密钥的机制,通过定期或者不定期对密钥文件中密钥进行更换,以构成密钥的生命周期,包括密钥自身的产生、使用和消亡的过程。
本实施例中,通过密钥文件的方式来存储密钥,可方便密钥的传输,特别是进行版本更新时直接替换密钥文件即可,还可以在后期升级方案需要采用加密机时,方便进行对接。
具体地,在上述实施例中,如图3所示,步骤102包括如下步骤:
301、接收待加密的明文数据,按照所述明文数据对应的保护特征将所述明文数据拆分为不同加密强度需求的数据块。
302、根据所述明文数据中不同数据块需求的加密强度从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息。
可以理解的是,由于明文数据中不同数据块涉及到的敏感字段和/或敏感标准不相同,有些数据库需要较高的加密强度需求,有些数据块需要在相应设定场景中提高加密强度,所以,明文数据中不同数据块具有不同的加密强度需求。具体在选取密钥配置信的过程中,可以根据明文数据中不同数据块需求的加密强度,确定数据块在加密过程中适用的算法覆盖范围,然后根据数据块在加密过程中适用的算法覆盖范围从密钥文件中选取与保护特征相匹配的密钥配置信息。
在本实施例中,通过从加密文件中选取适配的密钥配置信息,可脱离硬件加密设备进行数据保护,实现数据保护的随机性,增强数据加密保护的强度,以达到质量认证的要求。
具体地,在上述实施例中,如图4所示,步骤103包括如下步骤:
401、根据所述密钥配置信息在算法覆盖范围内确定明文数据中每个数据块匹配的加密算法。
402、使用所述明文数据中每个数据块匹配的加密算法在数据保护范围内随机生成加密参数。
在本实施例中,明文数据中每个数据块可以对应一条数据,也可以对应一段数据,为了让每个数据块能够匹配到合适的加密算法,这里可以按照数据量大小对明文数据中每个数据块进行顺序排列,根据数据块对应排列顺序在算法覆盖范围内确定明文数据中每个数据块匹配的加密算法,例如,为数据量大的数据块匹配运行速度较快的加密算法,还可以针对明文数据中每个数块进行结构解析,根据数据块对应的结构特征在算法覆盖范围内确定明文数据中每个数据块匹配的加密算法,例如,为结构复杂的数据块匹配处理能力强的加密算法。
通常情况下,在选定加密算法之后,密钥的选择也能够反映出加密过程的运行速度和加密的安全强度,一般密钥越长,运行速度越慢,这里可结合加密算法适配的保护强度来选择密钥,如果加密算法需要适配的保护强度较高,则可从密钥配置信息中选取较长字符串的密钥生成加密参数。相应的,在选定加密算法之后,可使用选定的加密算法生成分散因子,将加密算法、密钥和分散因子作为加密参数进行输出。
进一步地,在上述实施例中,如图5所示,步骤104之前,方法还包括如下步骤:
105、使用数字签名算法为所述明文数据中每个数据块生成校验值;
可以理解的是,密钥数据可能在传输过程中被篡改,为了保证密钥数据是真实的,可使用数字签名算法为名为数据中每个数据块生成校验值,通过数字签名算法能够附加在每个数据块上的一些数据,或者是对数据块所做的密码变换,这种数据和变换允许数据块的接收者用以确认密文数据的来源和密文数据的完整性,并防止数据块在传输过程中被人(例如,接收者)伪造。
具体在数字签名过程中,校验值相当于是明文数据的数字签名,发送方将密文数据值发送至接收方后,数据接收方可利用校验值来确认数字签名的合法性,进而保证密文数据在传输过程中的可靠性。
相应地,在上述实施例中,如图5所示,步骤104之后,方法还包括如下步骤:
106、以每个数据块对应的校验值作为解密验证参数,将所述校验值、所述加密参数以及所述密文数据传输至数据使用方。
在本实施例中,为了保证数据传输过程中安全性,通过将校验值、加密参数以及密文数据传输至数据使用方,以使得在接收到数据使用方触发的数据解密指令之后,调用密钥文件对密文数据进行解密处理,然后利用校验值对解密得到的明文数据进行一致性验证,在解密得到的明文数据通过一致性校验后,将解密得到的明文数据写入至芯片中。
进一步地,为了保证数据安全,可在执行完数据加密和数据解密过程之后,对密钥文件进行销毁。
可以理解的是,数据使用方作为密文数据的接收者,可通过密钥文件中记录的加密算法和密钥对密文数据进行解密,与数据加密过程形成相反的操作流程,具体可包括如下步骤:首先将密钥文件传输至数据使用方,使用密钥文件还原密文数据使用的加密算法、密钥和分散因子等加密参数,根据加密参数对密文数据进行解密,得到明文数据,进一步根据明文数据中每个数据块对应的校验值判断解密得到的明文数据是否正确,若是,则将解密后的明文数据传输至工厂设备进行芯片写入。
在实际应用场景中,原有的数据加密流程如图6所示,图6中的数据加密流程中涉及到加密/解密软件以及硬件加密设备,在加密/解密软件中,先选定加密机支持的算法,然后选定分散因子,进一步对明文数据进行处理后调用加密机接口进行加密/解密过程,在硬件加密设备中,通过向硬件加密设备中灌入密钥,进而向加密/解密软件提供密钥,以根据密钥实现数据加密/解密。本申请中的数据加密流程如7所示,图7中的数据加密流程中涉及到加密/解密软件以及加密/解密模块,先当加密/解密软件调用加密/解密模块,在加密/解密模块中生成密钥文件并对密钥文件进行保护,同时加密解密子模块会生成加密参数传输至加密/解密软件,然后在加密/解密模块中使用加密/解密模块中提供密钥文件的加密参数进行数据加密/解密。
进一步的,作为图1-5方法的具体实现,本申请实施例提供了一种数据加密装置,如图8所示,该装置包括:获取单元51、选取单元52、第一生成单元53、加密单元54。
获取单元51,用于响应于数据加密指令,获取业务范围内选定的加密算法参数,根据所述加密算法参数生成密钥文件,所述密钥文件中记录有算法覆盖范围内随机生成的具有不同保护因子的密钥配置信息;
选取单元52,用于接收待加密的明文数据,根据所述明文数据对应的保护特征从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息;
第一生成单元53,用于所述密钥配置信息在数据保护范围内随机生成加密参数;
加密单元54,用于使用所述加密参数对所述明文数据进行加密处理,得到密文数据。
本发明实施例提供的数据加密装置,与目前现有方式中使用硬件加密设备来实现数据加密过程相比,本申请通过响应于数据加密指令,获取业务范围内选定的加密算法参数,根据加密算法参数生成密钥文件,该加密参数以及密钥,接收待加密的明文数据,根据明文数据对应的保护特征从密钥文件中选取与保护特征相匹配的密钥配置信息,根据密钥配置信息在数据保护范围内随机生成加密参数,使用加密参数对明文数据与密钥进行加密处理,得到密文数据。整个数据加密过程无需使用硬件加密设备,通过生成密钥文件来维护具有不同保护因子的密钥配置信息以及密钥,使得加密过程能够灵活适配到不同加密保护强度,在保证数据保护强度的基础上提升数据加密的生产效率。
在具体的应用场景中,所述获取单元51包括:
选定模块,用于响应于数据加密指令,根据所述数据加密指令确定数据保护强度,在业务范围内选定所述数据保护强度范围内覆盖的加密算法参数;
生成模块,用于按照设定的结构体格式将所述加密算法参数写入至目标文件中,生成密钥文件。
在具体的应用场景中,所述获取单元51,还包括:
定义模块,用于在所述按照设定的结构体格式将所述加密算法参数写入至目标文件中,生成密钥文件之前,定义结构体对象,在所述结构体对象中生成不同位置的存储字段,根据所述加密算法参数与所述结构体对象中存储字段之间的属性匹配关系,构建设定的结构体格式;
相应地,所述生成模块,具体用于按照设定的结构体格式确定密钥文件结构以及密钥文件结构对加密算法参数的属性条件,在所述属性条件的限制范围内将所述加密算法参数写入至目标文件中,以使得目标文件符合所述密钥文件结构,生成密钥文件。
在具体的应用场景中,所述选取单元52包括:
拆分模块,用于接收待加密的明文数据,按照所述明文数据对应的保护特征将所述明文数据拆分为不同加密强度需求的数据块;
选取模块,用于根据所述明文数据中不同数据块需求的加密强度从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息。
在具体的应用场景中,所述选取模块,具体用于根据所述明文数据中不同数据块需求的加密强度,确定数据块在加密过程中适用的算法覆盖范围;根据数据块在加密过程中适用的算法覆盖范围从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息。
在具体的应用场景中,所述第一生成单元53,具体用于根据所述密钥配置信息在算法覆盖范围内确定明文数据中每个数据块匹配的加密算法;使用所述明文数据中每个数据块匹配的加密算法在数据保护范围内随机生成加密参数。
在具体的应用场景中,所述装置还包括:
第二生成单元,用于在所述使用所述加密参数对所述明文数据进行加密处理,得到密文数据之前,使用数字签名算法为所述明文数据中每个数据块生成校验值;
传输单元,用于用于在所述使用所述加密参数对所述明文数据进行加密处理,得到密文数据之前,以每个数据块对应的校验值作为解密验证参数,将所述校验值、所述加密参数以及所述密文数据传输至数据使用方,以使得在接收到数据使用方触发的数据解密指令之后,调用所述密钥文件对所述密文数据进行解密处理,利用所述校验值对解密得到的明文数据进行一致性验证,在所述解密得到的明文数据通过一致性校验后,将所述解密得到的明文数据写入至芯片中。
需要说明的是,本实施例提供的一种数据加密装置所涉及各功能单元的其它相应描述,可以参考图1-图5中的对应描述,在此不再赘述。
基于上述如图1-图5所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1-图5所示的数据加密方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1-图5所示的方法,以及图8所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种数据加密的实体设备,具体可以为计算机,智能手机,平板电脑,智能手表,服务器,或者网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1-图5所示的数据加密方法。
可选的,该实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
在示例性实施例中,参见图9,上述实体设备包括通信总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的数据加密方法。
本领域技术人员可以理解,本实施例提供的一种数据加密的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述数据加密的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,与目前现有方式相比,本申请中数据加密过程无需使用硬件加密设备,通过生成密钥文件来维护具有不同保护因子的密钥配置信息以及密钥,使得加密过程能够灵活适配到不同加密保护强度,在保证数据保护强度的基础上提升数据加密的生产效率。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (9)

1.一种数据加密方法,其特征在于,包括:
响应于数据加密指令,获取业务范围内选定的加密算法参数,根据所述加密算法参数生成密钥文件,具体包括:响应于数据加密指令,根据所述数据加密指令确定数据保护强度,在业务范围内选定所述数据保护强度范围内覆盖的加密算法参数;按照设定的结构体格式将所述加密算法参数写入至目标文件中,生成密钥文件,所述密钥文件中记录有算法覆盖范围内随机生成的具有不同保护因子的密钥配置信息;
接收待加密的明文数据,根据所述明文数据对应的保护特征从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息;
根据所述密钥配置信息在数据保护范围内随机生成加密参数;
使用所述加密参数对所述明文数据进行加密处理,得到密文数据。
2.根据权利要求1所述的方法,其特征在于,在所述按照设定的结构体格式将所述加密算法参数写入至目标文件中,生成密钥文件之前,所述方法还包括:
定义结构体对象,在所述结构体对象中生成不同位置的存储字段,根据所述加密算法参数与所述结构体对象中存储字段之间的属性匹配关系,构建设定的结构体格式;
相应地,所述按照设定的结构体格式将所述加密算法参数写入至目标文件中,生成密钥文件,具体包括:
按照设定的结构体格式确定密钥文件结构以及密钥文件结构对加密算法参数的属性条件,在所述属性条件的限制范围内将所述加密算法参数写入至目标文件中,以使得目标文件符合所述密钥文件结构,生成密钥文件。
3.根据权利要求1所述的方法,其特征在于,所述接收待加密的明文数据,根据所述明文数据对应的保护特征从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息,具体包括:
接收待加密的明文数据,按照所述明文数据对应的保护特征将所述明文数据拆分为不同加密强度需求的数据块;
根据所述明文数据中不同数据块需求的加密强度从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述明文数据中不同数据块需求的加密强度从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息,具体包括:
根据所述明文数据中不同数据块需求的加密强度,确定数据块在加密过程中适用的算法覆盖范围;
根据所述数据块在加密过程中适用的算法覆盖范围,从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据所述密钥配置信息在数据保护范围内随机生成加密参数,具体包括:
根据所述密钥配置信息在算法覆盖范围内确定明文数据中每个数据块匹配的加密算法;
使用所述明文数据中每个数据块匹配的加密算法在数据保护范围内随机生成加密参数。
6.根据权利要求1-4中任一项所述的方法,其特征在于,在所述使用所述加密参数对所述明文数据进行加密处理,得到密文数据之前,所述方法还包括:
使用数字签名算法为所述明文数据中每个数据块生成校验值;
在所述使用所述加密参数对所述明文数据进行加密处理,得到密文数据之后,所述方法还包括:
以每个数据块对应的校验值作为解密验证参数,将所述校验值、所述加密参数以及所述密文数据传输至数据使用方,以使得在接收到数据使用方触发的数据解密指令之后,调用所述密钥文件对所述密文数据进行解密处理,利用所述校验值对解密得到的明文数据进行一致性验证,在所述解密得到的明文数据通过一致性校验后,将所述解密得到的明文数据写入至芯片中。
7.一种数据加密装置,其特征在于,包括:
获取单元,用于响应于数据加密指令,获取业务范围内选定的加密算法参数,根据所述加密算法参数生成密钥文件,所述密钥文件中记录有算法覆盖范围内随机生成的具有不同保护因子的密钥配置信息;
选取单元,用于接收待加密的明文数据,根据所述明文数据对应的保护特征从所述密钥文件中选取与所述保护特征相匹配的密钥配置信息;
第一生成单元,用于所述密钥配置信息在数据保护范围内随机生成加密参数;
加密单元,用于使用所述加密参数对所述明文数据进行加密处理,得到密文数据;
所述获取单元包括:选定模块,用于响应于数据加密指令,根据所述数据加密指令确定数据保护强度,在业务范围内选定所述数据保护强度范围内覆盖的加密算法参数;生成模块,用于按照设定的结构体格式将所述加密算法参数写入至目标文件中,生成密钥文件。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述数据加密方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述数据加密方法的步骤。
CN202310715366.6A 2023-06-16 2023-06-16 数据加密方法、装置及设备 Active CN116455572B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310715366.6A CN116455572B (zh) 2023-06-16 2023-06-16 数据加密方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310715366.6A CN116455572B (zh) 2023-06-16 2023-06-16 数据加密方法、装置及设备

Publications (2)

Publication Number Publication Date
CN116455572A CN116455572A (zh) 2023-07-18
CN116455572B true CN116455572B (zh) 2023-08-29

Family

ID=87128867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310715366.6A Active CN116455572B (zh) 2023-06-16 2023-06-16 数据加密方法、装置及设备

Country Status (1)

Country Link
CN (1) CN116455572B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117216813B (zh) * 2023-11-02 2024-03-26 紫光同芯微电子有限公司 用于读写数据的方法、装置和安全芯片

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297959A (zh) * 2012-02-28 2013-09-11 中国移动通信集团广东有限公司 在传感器网络中进行加密的方法、加密装置和传感器网络
CN112398832A (zh) * 2020-11-04 2021-02-23 四川长虹电器股份有限公司 一种业务端用户数据加密方法和解密方法
CN114218592A (zh) * 2021-12-20 2022-03-22 平安壹钱包电子商务有限公司 敏感数据的加解密方法、装置、计算机设备及存储介质
WO2022170857A1 (zh) * 2021-02-09 2022-08-18 深圳市汇顶科技股份有限公司 信令的安全传输方法、装置、服务器和se芯片
WO2023274011A1 (zh) * 2021-06-30 2023-01-05 湖南国科微电子股份有限公司 一种otp存储器内数据保护方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2366229A4 (en) * 2008-09-08 2012-08-15 Confidato Security Solutions Ltd DEVICE, SYSTEM, METHOD AND CORRESPONDING SOFTWARE COMPONENTS FOR ENCRYPTION AND PROCESSING OF DATA

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297959A (zh) * 2012-02-28 2013-09-11 中国移动通信集团广东有限公司 在传感器网络中进行加密的方法、加密装置和传感器网络
CN112398832A (zh) * 2020-11-04 2021-02-23 四川长虹电器股份有限公司 一种业务端用户数据加密方法和解密方法
WO2022170857A1 (zh) * 2021-02-09 2022-08-18 深圳市汇顶科技股份有限公司 信令的安全传输方法、装置、服务器和se芯片
WO2023274011A1 (zh) * 2021-06-30 2023-01-05 湖南国科微电子股份有限公司 一种otp存储器内数据保护方法、装置、设备及存储介质
CN114218592A (zh) * 2021-12-20 2022-03-22 平安壹钱包电子商务有限公司 敏感数据的加解密方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN116455572A (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
CN111079128B (zh) 一种数据处理方法、装置、电子设备以及存储介质
CN110881063B (zh) 一种隐私数据的存储方法、装置、设备及介质
US8396218B2 (en) Cryptographic module distribution system, apparatus, and program
CN111245802B (zh) 数据传输安全控制方法、服务器以及终端
US11210658B2 (en) Constructing a distributed ledger transaction on a cold hardware wallet
CN111107066A (zh) 敏感数据的传输方法和系统、电子设备、存储介质
CA3178180A1 (en) Constructing a distributed ledger transaction on a cold hardware wallet
CN111970114B (zh) 文件加密方法、系统、服务器和存储介质
CN111385084A (zh) 数字资产的密钥管理方法、装置及计算机可读存储介质
CN116455572B (zh) 数据加密方法、装置及设备
CN116662941B (zh) 信息加密方法、装置、计算机设备和存储介质
US11128455B2 (en) Data encryption method and system using device authentication key
CN111262852B (zh) 基于区块链实现的名片签发方法及系统
CN115603907A (zh) 加密存储数据的方法、装置、设备和存储介质
CN111008400A (zh) 数据处理方法、装置及系统
CN117240625A (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN112199730A (zh) 一种终端上应用数据的处理方法、装置及电子设备
CN115175178A (zh) 一种核电站的数据安全处理方法、5g端机及系统
US11720693B2 (en) System and method for securely transferring data
CN115567200A (zh) http接口防刷方法、系统及相关设备
CN116781292A (zh) 一种数据处理方法、装置、设备以及可读存储介质
CN104363584B (zh) 一种短消息加、解密的方法、装置及终端
CN112862488A (zh) 数据的签名方法、装置、电子设备及计算机可读存储介质
CN113034140A (zh) 实现智能合约加密的方法、系统、设备及存储介质
CN112311536A (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
GR01 Patent grant
GR01 Patent grant