CN114520740A - 一种加密方法、装置、设备及存储介质 - Google Patents

一种加密方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114520740A
CN114520740A CN202210139998.8A CN202210139998A CN114520740A CN 114520740 A CN114520740 A CN 114520740A CN 202210139998 A CN202210139998 A CN 202210139998A CN 114520740 A CN114520740 A CN 114520740A
Authority
CN
China
Prior art keywords
secret key
algorithm
target
encryption
file library
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
CN202210139998.8A
Other languages
English (en)
Other versions
CN114520740B (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.)
De Rucci Healthy Sleep Co Ltd
Original Assignee
De Rucci Healthy Sleep 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 De Rucci Healthy Sleep Co Ltd filed Critical De Rucci Healthy Sleep Co Ltd
Priority to CN202210139998.8A priority Critical patent/CN114520740B/zh
Publication of CN114520740A publication Critical patent/CN114520740A/zh
Application granted granted Critical
Publication of CN114520740B publication Critical patent/CN114520740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Abstract

本发明公开了一种加密方法、装置、设备及存储介质。该方法包括:在调用静态文件库之后,将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥;基于所述静态文件库中的第三秘钥对所述第二秘钥进行解密,得到目标秘钥;基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果。本发明实施例通过将算法代码打包成静态文件库和外置加密芯片的双重保护机制,将算法具体实现过程全部打包成内部静态文件库,外部无法了解算法具体实现过程,同时对算法调用过程进行加密,解决了算法部署在本地后的安全问题,实现了保护算法不被窃取的效果,保护了研发成果。

Description

一种加密方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种加密方法、装置、设备及存储介质。
背景技术
随着网络技术的飞速发展,网络安全技术的重要性日益突显,而加密技术则是网络安全技术中的核心技术。信息加密技术不仅可以保证信息的机密性,而且可以保证信息的完整性和准确性,防止信息被篡改、伪造和假冒,是保证信息安全的关键技术。
在安全领域,利用密钥加密算法来对通信的过程进行加密是一种常见的安全手段。利用该手段能够保障数据安全通信的三个目标:数据的保密性,防止用户的数据被窃取或泄露;保证数据的完整性,防止用户传输的数据被篡改;通信双方的身份确认,确保数据来源与合法的用户。
发明内容
本发明实施例提供一种加密方法、装置、设备及存储介质,以实现能够解决算法部署在本地后的安全问题,保护算法不被窃取,保护研发成果。
第一方面,本发明实施例提供了一种加密方法,包括:
在调用静态文件库之后,将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥;
基于所述静态文件库中的第三秘钥对所述第二秘钥进行解密,得到目标秘钥;
基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果。
在基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果之后,还包括:
将所述第一结果输入所述加密芯片,以使所述加密芯片基于所述目标秘钥对所述第一结果进行解密,得到目标算法数据对应的算法结果和算法运行过程。
在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,还包括:
获取目标秘钥和第三秘钥;
基于所述第三秘钥对所述目标秘钥进行AES加密,得到第二秘钥;
基于SM2加密算法对所述第二秘钥进行加密,得到第一秘钥;
将所述第三秘钥和所述第一秘钥写入所述静态文件库;
将所述目标秘钥和所述第二秘钥写入所述加密芯片。
一种加密方法,还包括:
生成第一随机数;
将所述第一随机数发送至所述加密芯片,以使所述加密芯片基于所述目标秘钥对所述第一随机数进行加密,得到第一数据;
在所述静态文件库中,基于所述目标秘钥对所述第一数据进行解密,得到第二随机数;
若所述第一随机数和所述第二随机数相同,则认证通过;
若所述第一随机数和所述第二随机数不同,则认证失败。
一种加密方法,还包括:
获取设备属性信息;
根据所述设备属性信息确定所述加密芯片的位数。
第二方面,本发明实施例还提供了一种加密装置,该装置包括:
第一输入模块,用于在调用静态文件库之后,将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥;
第一解密模块,用于基于所述静态文件库中的第三秘钥对所述第二秘钥进行解密,得到目标秘钥;
第一加密模块,用于基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果。
进一步的,所述加密装置还包括:
第二输入模块,用于在基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果之后,将所述第一结果输入所述加密芯片,以使所述加密芯片基于所述目标秘钥对所述第一结果进行解密,得到目标算法数据对应的算法结果和算法运行过程。
进一步的,所述加密装置还包括:
第一获取模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,获取目标秘钥和第三秘钥;
第二加密模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,基于所述第三秘钥对所述目标秘钥进行AES加密,得到第二秘钥;
第三加密模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,基于SM2加密算法对所述第二秘钥进行加密,得到第一秘钥;
第一写入模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,将所述第三秘钥和所述第一秘钥写入所述静态文件库;
第二写入模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,将所述目标秘钥和所述第二秘钥写入所述加密芯片。
进一步的,所述加密装置还包括:
生成模块,用于生成第一随机数;
发送模块,用于将所述第一随机数发送至所述加密芯片,以使所述加密芯片基于所述目标秘钥对所述第一随机数进行加密,得到第一数据;
第二解密模块,用于在所述静态文件库中,基于所述目标秘钥对所述第一数据进行解密,得到第二随机数;
第一认证模块,用于若所述第一随机数和所述第二随机数相同,则认证通过;
第二认证模块,用于若所述第一随机数和所述第二随机数不同,则认证失败。
进一步的,所述加密装置还包括:
第二获取模块,用于获取设备属性信息;
确定模块,用于根据所述设备属性信息确定所述加密芯片的位数。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的加密方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的加密方法。
本发明实施例通过将算法代码打包成静态文件库和外置加密芯片的双重保护机制,将算法具体实现过程全部打包成内部静态文件库,外部无法了解算法具体实现过程,同时对算法调用过程进行加密,解决了算法部署在本地后的安全问题,实现了保护算法不被窃取的效果,保护了研发成果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例一提供的一种加密方法的流程图;
图2是本发明实施例二提供的一种加密装置的结构示意图;
图3是本发明实施例三提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例一
图1是本发明实施例一提供的一种加密方法的流程图,本实施例可适用于加密的情况,该方法可以由本发明实施例中的加密装置来执行,该装置可采用软件和/或硬件的方式实现,如图1所示,该方法具体包括如下步骤:
S101、在调用静态文件库之后,将静态文件库中的第一秘钥输入加密芯片,得到第二秘钥。
需要解释的是,静态文件库是一种共享程序代码的方式。程序编译一般需经预处理、编译、汇编和链接几个步骤。在实际应用中,有一些公共代码需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件中取得所需的代码,复制到生成的可执行文件中。这种“库”称为静态文件库,其特点是可执行文件中包含了库代码的一份完整拷贝。
具体的,算法开发完成后,根据实际产品使用的编译环境和工具,使用keil或者iar开发工具(俗称编译器,通常会根据目标项目选择开发工具)进行打包,将算法打包成对应的静态文件库,生成.a或.lib(.lib是Library的缩写,一种文件名后缀,代表的是静态数据连接库)文件,.a和.lib都是静态文件库的文件名后缀,不同编译平台的叫法不同,.a文件是iar平台生成的,.lib文件是keil平台生成的。外部使用者只能通过调用函数名获取相应的结果,但无法获取算法具体实现,起到了保护算法实现的目的。
在本实施例中,第一秘钥指的是存放于静态文件库中的密码串。
其中,加密芯片是对内部集成了各类对称与非对称算法,自身具有极高安全等级,可以保证内部存储的密钥和信息数据不会被非法读取与篡改的一类安全芯片的统称。外部加密芯片可以支持SM2(SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法)非对称加密和AES 256(Advanced Encryption Standard,高级加密标准)对称加密方式,SM2和AES秘钥会提前通过烧录工装烧录到加密芯片内部。
SM2为国家密码管理局公布的公钥算法,其加密强度为256位。SM2算法属于公钥加密算法,其算法数据基础为基于椭圆曲线上离散对数学难题(Elliptic Curve DiscreteLogarithm Problem,ECDLP,椭圆曲线上的离散对数问题),其在工程应用上难以实现,单位安全强度较高。SM2算法的破译或求解难度基本是指数级别的。因此,国密算法SM2的安全强度较高,计算能力也较强。
AES在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准,AES的区块长度固定为128比特,密钥长度则可以是128、192或256比特。AES算法使用逻辑为:发送方将要发送的明文数据X使用秘钥K进行AES加密后会得到密文Y,将密文Y进行网络传输,接受方在收到密文Y后使用秘钥K进行AES解密后就能得到明文数据X,这样即使密文Y在网络传输时被截获了,没有秘钥K也难以破解其真实意思。
需要说明的是,第二秘钥指的是将第一秘钥输入加密芯片中进行SM2解密得到的秘钥。椭圆曲线公钥密码算法,
具体的,在调用静态文件库之后,将静态文件库中的第一秘钥输入加密芯片,通过加密芯片中的硬件SM2加密算法对第一秘钥进行加密,得到第二秘钥,将第二秘钥写入静态文件库中。
S102、基于静态文件库中的第三秘钥对第二秘钥进行解密,得到目标秘钥。
其中,第三秘钥指的是事先写入到静态文件库中的根据加密芯片预先定义的秘钥。
在本实施例中,目标秘钥指的是基于静态文件库中的第三秘钥对第二秘钥进行解密之后得到的通信秘钥。目标秘钥只存在RAM(Random Access Memory,随机存取存储器)中,RAM是随机存储,掉电后数据不会保存,手机处于上电状态才可以获取目标秘钥,不会在手机中留下密码痕迹,可以保护通信秘钥。
具体的,在得到第二秘钥后,读取存放于静态文件库中预先定义的第三秘钥,基于第三秘钥对第二秘钥进行解密,最终得到目标秘钥。
S103、基于目标秘钥对静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果。
需要说明的是,目标算法数据指的是使用者所调用的静态文件库中包含的算法数据。使用者执行目标算法数据后,得到目标算法数据对应的算法结果和算法运行过程。其中,算法结果指的是目标算法数据运行后得出的结果,算法运行过程指的是目标算法数据执行的流程步骤。目标算法数据以及目标算法数据对应的算法结果和算法运行过程都需要进行加密,以防止被盗,保证安全性。
在本实施例中,第一结果指的是对静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密后,得到的加密后的算法结果和算法运行过程。
在实际操作过程中,对算法本身进行打包仅仅能解决对算法具体实现进行保护,但是算法还是会有被盗用的风险,所以需要对算法结果和算法运行过程进行加密。基于目标算法数据生成静态文件库,在使用者调用目标算法数据之后,根据目标算法数据确定算法结果和算法运行过程,将算法结果和算法运行过程输入加密芯片,基于目标秘钥对目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果。
可选的,在基于目标秘钥对静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果之后,还包括:
将第一结果输入加密芯片,以使加密芯片基于目标秘钥对第一结果进行解密,得到目标算法数据对应的算法结果和算法运行过程。
具体的,在使用者调用静态文件库中的目标算法数据获取第一结果后,需要通过使用加密芯片中硬件AES算法对第一结果进行解密,得到目标算法数据对应的算法结果和算法运行过程。
可选的,在将静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,还包括:
获取目标秘钥和第三秘钥。
具体的,在将静态文件库中的第一秘钥输入加密芯片进行SM2加密得到第二秘钥之前,先获取目标秘钥和第三秘钥,其中目标秘钥和第三秘钥可以是根据加密芯片预先定义的两个秘钥。
基于第三秘钥对目标秘钥进行AES加密,得到第二秘钥。
具体的,获取第三秘钥和目标秘钥后,基于第三秘钥对目标秘钥进行AES加密,得到第二秘钥。
基于SM2加密算法对第二秘钥进行加密,得到第一秘钥。
具体的,在得到第二秘钥后,通过加密芯片中的硬件SM2加密算法对第二秘钥进行加密后,得到第一秘钥。如果直接将目标秘钥写入静态文件库中,静态文件库的使用者可以通过反汇编等手段很容易的破解秘钥,所以使用SM2加密算法进行进一步的加密以保证安全性。SM2加密算法为非对称加密算法,相同内容进行加密可以输出不同的加密结果,算法的安全性更高。
将第三秘钥和第一秘钥写入静态文件库。
具体的,在得到第一秘钥后,将预先定义的第三秘钥和得到的第一秘钥写入静态文件库中。
将目标秘钥和第二秘钥写入加密芯片。
具体的,在得到第二秘钥后,将预先定义的目标秘钥和得到的第二秘钥写入加密芯片中。在出售算法数据时,将对应的静态文件库和加密芯片同时售出。
可选的,所述加密方法还包括:
生成第一随机数。
示例性的,第一随机数可以是由静态文件库生成的随机数。
具体的,在使用者调用目标算法数据后,静态文件库生成第一随机数。
将第一随机数发送至加密芯片,以使加密芯片基于目标秘钥对第一随机数进行加密,得到第一数据。
需要解释的是,第一数据是指基于目标秘钥对第一随机数进行加密后得到的数据。
具体的,静态文件库生成第一随机数后,将第一随机数发送至加密芯片,加密芯片基于目标秘钥对第一随机数进行AES算法加密,得到第一数据,将第一数据发送回静态文件库。
在静态文件库中,基于目标秘钥对第一数据进行解密,得到第二随机数。
需要说明的是,第二随机数指的是基于目标秘钥对第一数据进行解密后得到的随机数。
具体的,将第一数据发送回静态文件库后,静态文件库基于目标秘钥对第一数据进行AES算法解密,得到第二随机数。
若第一随机数和第二随机数相同,则认证通过。
具体的,将第一随机数和第二随机数进行比对,若第一随机数和第二随机数相同,则认证通过。
若第一随机数和第二随机数不同,则认证失败。
具体的,将第一随机数和第二随机数进行比对,若第一随机数和第二随机数不同,则认证失败。
在本实施例中,静态文件库定时产生随机数,发送给加密芯片,加密芯片使用硬件AES加密后发送回静态文件库,静态文件库使用软件AES解密得到第二随机数,之后比对之前产生的第一随机数,如果第一随机数和第二随机数相同,则认证通过,代表加密芯片正常使用;如果第一随机数和第二随机数不同,则认证失败,代表加密芯片未正常使用。此步骤用于确认硬件系统是否使用了加密芯片。
可选的,所述加密方法还包括:
获取设备属性信息。
需要说明的是,在本实施例中设备属性信息指的是CPU(Central ProcessingUnit,中央处理器)运行的速度。
具体的,获取所使用设备的设备属性信息。
根据设备属性信息确定加密芯片的位数。
具体的,根据设备属性信息确定加密芯片的位数,CPU运行的速度越快,对应的加密芯片的位数越高,安全性越强,但同时运算时间也越长,具体可根据CPU的运行速度确定加密芯片的位数,例如可以通过查询预设的设备属性信息对应的加密芯片位数的列表进行选择。加密芯片的位数不同,对应的第三秘钥和目标秘钥的位数不同。
本发明实施例通过将算法代码打包成静态文件库和外置加密芯片的双重保护机制,将算法具体实现过程全部打包成内部静态文件库,外部无法了解算法具体实现过程,同时对算法调用过程进行加密,解决了算法部署在本地后的安全问题,实现了保护算法不被窃取的效果,保护了研发成果。
实施例二
图2是本发明实施例二提供的一种加密装置的结构示意图。本实施例可适用于加密的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供加密功能的设备中,如图2所示,所述加密装置具体包括:第一输入模块210、第一解密模块220和第一加密模块230。
其中,第一输入模块210,用于在调用静态文件库之后,将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥;
第一解密模块220,用于基于所述静态文件库中的第三秘钥对所述第二秘钥进行解密,得到目标秘钥;
第一加密模块230,用于基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果。
进一步的,所述加密装置还包括:
第二输入模块,用于在基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果之后,将所述第一结果输入所述加密芯片,以使所述加密芯片基于所述目标秘钥对所述第一结果进行解密,得到目标算法数据对应的算法结果和算法运行过程。
进一步的,所述加密装置还包括:
第一获取模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,获取目标秘钥和第三秘钥;
第二加密模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,基于所述第三秘钥对所述目标秘钥进行AES加密,得到第二秘钥;
第三加密模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,基于SM2加密算法对所述第二秘钥进行加密,得到第一秘钥;
第一写入模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,将所述第三秘钥和所述第一秘钥写入所述静态文件库;
第二写入模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,将所述目标秘钥和所述第二秘钥写入所述加密芯片。
进一步的,所述加密装置还包括:
生成模块,用于生成第一随机数;
发送模块,用于将所述第一随机数发送至所述加密芯片,以使所述加密芯片基于所述目标秘钥对所述第一随机数进行加密,得到第一数据;
第二解密模块,用于在所述静态文件库中,基于所述目标秘钥对所述第一数据进行解密,得到第二随机数;
第一认证模块,用于若所述第一随机数和所述第二随机数相同,则认证通过;
第二认证模块,用于若所述第一随机数和所述第二随机数不同,则认证失败。
进一步的,所述加密装置还包括:
第二获取模块,用于获取设备属性信息;
确定模块,用于根据所述设备属性信息确定所述加密芯片的位数。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
本发明实施例通过将算法代码打包成静态文件库和外置加密芯片的双重保护机制,将算法具体实现过程全部打包成内部静态文件库,外部无法了解算法具体实现过程,同时对算法调用过程进行加密,解决了算法部署在本地后的安全问题,实现了保护算法不被窃取的效果,保护了研发成果。
实施例三
图3是本发明实施例三提供的一种电子设备的结构示意图。图3示出了适于用来实现本发明实施方式的电子设备312的框图。图3显示的电子设备312仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备312是典型的加密功能的计算设备。
如图3所示,电子设备312以通用计算设备的形式表现。电子设备312的组件可以包括但不限于:一个或者多个处理器316,存储装置328,连接不同系统组件(包括存储装置328和处理器316)的总线318。
总线318表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
电子设备312典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备312访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置328可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)330和/或高速缓存存储器332。电子设备312可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统334可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线318相连。存储装置328可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块326的程序336,可以存储在例如存储装置328中,这样的程序模块326包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块326通常执行本发明所描述的实施例中的功能和/或方法。
电子设备312也可以与一个或多个外部设备314(例如键盘、指向设备、摄像头、显示器324等)通信,还可与一个或者多个使得用户能与该电子设备312交互的设备通信,和/或与使得该电子设备312能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口322进行。并且,电子设备312还可以通过网络适配器320与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图3所示,网络适配器320通过总线318与电子设备312的其它模块通信。应当明白,尽管图3中未示出,可以结合电子设备312使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器316通过运行存储在存储装置328中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的加密方法:
在调用静态文件库之后,将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥;
基于所述静态文件库中的第三秘钥对所述第二秘钥进行解密,得到目标秘钥;
基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果。
实施例四
本发明实施例四还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种加密方法,该方法包括:
在调用静态文件库之后,将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥;
基于所述静态文件库中的第三秘钥对所述第二秘钥进行解密,得到目标秘钥;
基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果。
当然,本发明实施例四所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的加密方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述加密装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种加密方法,其特征在于,包括:
在调用静态文件库之后,将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥;
基于所述静态文件库中的第三秘钥对所述第二秘钥进行解密,得到目标秘钥;
基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果。
2.根据权利要求1所述的方法,其特征在于,在基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果之后,还包括:
将所述第一结果输入所述加密芯片,以使所述加密芯片基于所述目标秘钥对所述第一结果进行解密,得到目标算法数据对应的算法结果和算法运行过程。
3.根据权利要求1所述的方法,其特征在于,在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,还包括:
获取目标秘钥和第三秘钥;
基于所述第三秘钥对所述目标秘钥进行AES加密,得到第二秘钥;
基于SM2加密算法对所述第二秘钥进行加密,得到第一秘钥;
将所述第三秘钥和所述第一秘钥写入所述静态文件库;
将所述目标秘钥和所述第二秘钥写入所述加密芯片。
4.根据权利要求3所述的方法,其特征在于,还包括:
生成第一随机数;
将所述第一随机数发送至所述加密芯片,以使所述加密芯片基于所述目标秘钥对所述第一随机数进行加密,得到第一数据;
在所述静态文件库中,基于所述目标秘钥对所述第一数据进行解密,得到第二随机数;
若所述第一随机数和所述第二随机数相同,则认证通过;
若所述第一随机数和所述第二随机数不同,则认证失败。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取设备属性信息;
根据所述设备属性信息确定所述加密芯片的位数。
6.一种加密装置,其特征在于,包括:
第一输入模块,用于在调用静态文件库之后,将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥;
第一解密模块,用于基于所述静态文件库中的第三秘钥对所述第二秘钥进行解密,得到目标秘钥;
第一加密模块,用于基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果。
7.根据权利要求6所述的装置,其特征在于,还包括:
第二输入模块,用于在基于所述目标秘钥对所述静态文件库中的目标算法数据对应的算法结果和算法运行过程进行加密,得到第一结果之后,将所述第一结果输入所述加密芯片,以使所述加密芯片基于所述目标秘钥对所述第一结果进行解密,得到目标算法数据对应的算法结果和算法运行过程。
8.根据权利要求6所述的装置,其特征在于,还包括:
第一获取模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,获取目标秘钥和第三秘钥;
第二加密模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,基于所述第三秘钥对所述目标秘钥进行AES加密,得到第二秘钥;
第三加密模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,基于SM2加密算法对所述第二秘钥进行加密,得到第一秘钥;
第一写入模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,将所述第三秘钥和所述第一秘钥写入所述静态文件库;
第二写入模块,用于在将所述静态文件库中的第一秘钥输入加密芯片,得到第二秘钥之前,将所述目标秘钥和所述第二秘钥写入所述加密芯片。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述处理器实现如权利要求1-5中任一所述的方法。
10.一种包含计算机程序的计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被一个或多个处理器执行时实现如权利要求1-5中任一所述的方法。
CN202210139998.8A 2022-02-16 2022-02-16 一种加密方法、装置、设备及存储介质 Active CN114520740B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210139998.8A CN114520740B (zh) 2022-02-16 2022-02-16 一种加密方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210139998.8A CN114520740B (zh) 2022-02-16 2022-02-16 一种加密方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114520740A true CN114520740A (zh) 2022-05-20
CN114520740B CN114520740B (zh) 2023-01-10

Family

ID=81599337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210139998.8A Active CN114520740B (zh) 2022-02-16 2022-02-16 一种加密方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114520740B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103383726A (zh) * 2012-05-03 2013-11-06 中兴通讯股份有限公司 一种实现安全加密的方法及阅读器设备
CN105763321A (zh) * 2016-04-06 2016-07-13 深圳市奔迈科技有限公司 一种物联网通讯加密方法和装置
CN111431917A (zh) * 2020-03-31 2020-07-17 上海涵润汽车电子有限公司 升级包加密方法及装置,升级包解密方法及装置
CN111988260A (zh) * 2019-05-21 2020-11-24 科大国盾量子技术股份有限公司 一种对称密钥管理系统、传输方法及装置
WO2021196915A1 (zh) * 2020-04-02 2021-10-07 深圳壹账通智能科技有限公司 基于加密、解密操作的数据传输方法、系统和计算机设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103383726A (zh) * 2012-05-03 2013-11-06 中兴通讯股份有限公司 一种实现安全加密的方法及阅读器设备
CN105763321A (zh) * 2016-04-06 2016-07-13 深圳市奔迈科技有限公司 一种物联网通讯加密方法和装置
CN111988260A (zh) * 2019-05-21 2020-11-24 科大国盾量子技术股份有限公司 一种对称密钥管理系统、传输方法及装置
CN111431917A (zh) * 2020-03-31 2020-07-17 上海涵润汽车电子有限公司 升级包加密方法及装置,升级包解密方法及装置
WO2021196915A1 (zh) * 2020-04-02 2021-10-07 深圳壹账通智能科技有限公司 基于加密、解密操作的数据传输方法、系统和计算机设备

Also Published As

Publication number Publication date
CN114520740B (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
CN111865586B (zh) 一种产品信息的加密方法及装置
CN100499452C (zh) 一种用于安全发送授权数据的装置和方法
TWI471754B (zh) 用於電腦系統中安全物件之支援
CN100487715C (zh) 一种数据安全存储系统和装置及方法
CN110519309B (zh) 数据传输方法、装置、终端、服务器及存储介质
CN102163268B (zh) 在执行期间验证软件代码的完整性的方法和设备
EP2290871A2 (en) Encryption method and apparatus using composition of ciphers
CN112469036B (zh) 一种消息加解密方法、装置、移动终端和存储介质
US20230325516A1 (en) Method for file encryption, terminal, electronic device and computer-readable storage medium
US8774407B2 (en) System and method for executing encrypted binaries in a cryptographic processor
CN111010266B (zh) 消息的加解密、读写方法、装置、计算机设备和存储介质
CN110855433B (zh) 基于加密算法的数据加密方法、装置及计算机设备
CN110166236B (zh) 密钥处理方法、装置和系统及电子设备
CN111191195A (zh) 一种用于保护apk的方法和装置
JP7256862B2 (ja) 保護されたコンテナ間のセキュア通信方法およびそのシステム
EP2629225A1 (en) System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction
CN112953974B (zh) 数据碰撞方法、装置、设备及计算机可读存储介质
US20180359088A1 (en) Executable coded cipher keys
CN116522358A (zh) 数据加密方法、装置、计算设备及存储介质
CN114520740B (zh) 一种加密方法、装置、设备及存储介质
WO2022133164A1 (en) Privacy-enhanced computation via sequestered encryption
WO2021165962A1 (en) System and method for generation of a disposable software module for cryptographic material protection
KR20020071274A (ko) Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치
US11698993B2 (en) Integrated circuit configured to perform symmetric encryption operations with secret key protection
CN112115491B (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