CN113259438B - 模型文件的发送方法和装置及模型文件的接收方法和装置 - Google Patents

模型文件的发送方法和装置及模型文件的接收方法和装置 Download PDF

Info

Publication number
CN113259438B
CN113259438B CN202110528977.0A CN202110528977A CN113259438B CN 113259438 B CN113259438 B CN 113259438B CN 202110528977 A CN202110528977 A CN 202110528977A CN 113259438 B CN113259438 B CN 113259438B
Authority
CN
China
Prior art keywords
model file
memory
encryption
algorithm
key
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
CN202110528977.0A
Other languages
English (en)
Other versions
CN113259438A (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 Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202110528977.0A priority Critical patent/CN113259438B/zh
Publication of CN113259438A publication Critical patent/CN113259438A/zh
Application granted granted Critical
Publication of CN113259438B publication Critical patent/CN113259438B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES 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

模型文件的发送方法和装置及模型文件的接收方法和装置
技术领域
本公开涉及计算机技术领域,更具体地说,涉及一种模型文件的发送方法和装置及模型文件的接收方法和装置。
背景技术
现今,为了解决一些工业领域中的问题,通常会在服务器端编写一些模型(例如,深度学习模型、隐马尔可夫模型等)下发到客户端,将编写的模型保存为模型文件,然后以明文或者压缩包的方式下发客户端执行。然而,由于现有的压缩格式(.zip、.rar等)较为常见且固定,所以明文模型或其压缩包可能在网络传输过程或客户端本地被解压破解,造成核心技术算法被盗用的后果,产生不可挽回的损失。此外,如果对模型文件进行加密,会造成在客户端解密速度慢而不能满足实时解密模型进行运算的场景。
发明内容
本公开提供一种模型文件的发送方法和装置及模型文件的接收方法和装置,以至少解决上述相关技术中的问题,也可不解决任何上述问题。
根据本公开实施例的第一方面,提供一种模型文件的发送方法,包括:获取与接收方约定一致的预定字符串;根据单向加密算法对所述预定字符串进行加密以产生加密密钥;根据对称加密算法,使用所述加密密钥对模型文件进行加密;将加密后的模型文件发送到所述接收方。
可选地,所述预定字符串可为由用户指定的任意长度的字符串。
可选地,所述根据单向加密算法对所述预定字符串进行加密以产生加密密钥,可包括:根据所述单向加密算法,将由用户指定的任意长度的所述预定字符串映射为固定长度的所述加密密钥。
可选地,所述单向加密算法可为信息摘要算法。
根据本公开实施例的第二方面,提供一种模型文件的接收方法,包括:从发送方接收使用对称加密算法加密的模型文件;获取与所述发送方约定一致的预定字符串;根据单向加密算法对所述预定字符串进行加密以产生解密密钥;根据与所述对称加密算法相应的对称解密算法,使用所述解密密钥对接收到的加密模型文件进行解密。
可选地,所述加密模型文件可被读取到内存中;其中,所述根据单向加密算法对所述预定字符串进行加密以产生解密密钥,可包括:在内存中根据单向加密算法对所述预定字符串进行加密以产生所述解密密钥;其中,所述根据与所述对称加密算法相应的对称解密算法,使用所述解密密钥对接收到的加密模型文件进行解密,可包括:在内存中根据与所述对称加密算法相应的对称解密算法,使用所述解密密钥对接收到的加密模型文件进行解密。
可选地,所述接收方法还可包括:在内存中运行解密后的模型文件。
可选地,所述预定字符串可为由用户指定的任意长度的字符串。
可选地,所述根据单向加密算法对所述预定字符串进行加密以产生解密密钥,可包括:根据所述单向加密算法,将由用户指定的任意长度的所述预定字符串映射为固定长度的所述解密密钥。
可选地,所述单向加密算法可为信息摘要算法。
根据本公开实施例的第三方面,提供一种模型文件的发送装置,包括:获取单元,被配置为获取与接收方约定一致的预定字符串;密钥产生单元,被配置为根据单向加密算法对所述预定字符串进行加密以产生加密密钥;加密单元,被配置为根据对称加密算法,使用所述加密密钥对模型文件进行加密;发送单元,被配置为将加密后的模型文件发送到所述接收方。
可选地,所述预定字符串可为由用户指定的任意长度的字符串。
可选地,密钥产生单元可被配置为根据所述单向加密算法,将由用户指定的任意长度的所述预定字符串映射为固定长度的所述加密密钥。
可选地,所述单向加密算法可为信息摘要算法。
根据本公开实施例的第四方面,提供一种模型文件的接收装置,包括:接收单元,被配置为从发送方接收使用对称加密算法加密的模型文件;获取单元,被配置为获取与所述发送方约定一致的预定字符串;密钥产生单元,被配置为根据单向加密算法对所述预定字符串进行加密以产生解密密钥;解密单元,被配置为根据与所述对称加密算法相应的对称解密算法,使用所述解密密钥对接收到的加密模型文件进行解密。
可选地,所述加密模型文件可被读取到内存中;密钥产生单元可被配置为在内存中根据单向加密算法对所述预定字符串进行加密以产生所述解密密钥;解密单元可被配置为在内存中根据与所述对称加密算法相应的对称解密算法,使用所述解密密钥对接收到的加密模型文件进行解密。
可选地,所述接收装置还可包括:运行单元,被配置为在内存中运行解密后的模型文件。
可选地,所述预定字符串可为由用户指定的任意长度的字符串。
可选地,密钥产生单元可被配置为根据所述单向加密算法,将由用户指定的任意长度的所述预定字符串映射为固定长度的所述解密密钥。
可选地,所述单向加密算法可为信息摘要算法。
根据本公开实施例的第五方面,提供一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的模型文件的发送方法或模型文件的接收方法。
根据本公开实施例的第六方面,提供一种存储指令的计算机可读存储介质,其特征在于,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的模型文件的发送方法或模型文件的接收方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的模型文件的发送方法或模型文件的接收方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的模型文件的发送方法和装置以及模型文件的接收方法和装置,结合使用单向加密算法和对称加密/解密算法对模型文件进行加密和解密,即,使用单向加密算法将任意长度内容的信息字符串映射为固定位数的对称加密/解密算法使用的密钥,这样无需传输密钥,同时保证了密钥的复杂性,使得加密后的模型更加难以破解,防止密钥被暴力破解,即使模型文件在网络传输过程中或在客户端被窃取,没有密钥也无法完成对模型的解密和运行,从而保证了模型文件在客户端的安全执行。此外,由于对称解密算法运算速度快,可适用于模型的实时运行的场景。
此外,根据本公开的模型文件的发送方法和装置以及模型文件的接收方法和装置,可在客户端的RAM中执行对模型的解密和运行,这样可保证模型执行结束后,模型仍处于加密状态,从而保证了模型在客户端存储的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是示出根据本公开的示例性实施例的模型文件的发送和接收方法的场景示意图。
图2是示出根据本公开的示例性实施例的模型文件的发送和接收的整体系统示意图。
图3是示出根据本公开的示例性实施例的模型文件的发送方法的流程图。
图4是示出根据本公开的示例性实施例的MD5循环加密的示意图。
图5是示出根据本公开的示例性实施例的模型文本的接收方法的流程图。
图6是示出根据本公开的示例性实施例的模型文件的发送装置的框图。
图7是示出根据本公开的示例性实施例的模型文件的接收装置的框图。
图8是根据本公开的示例性实施例的电子设备800的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
以深度学习模型为例进行说明。随着深度学习技术的发展,使得原来某些工业领域中的问题得到了更好的解决,但是由于深度学习相较于传统技术需要的运算量较大,而且深度学习模型的编写通常使用运行效率较差的Python语言,且很多场景要求实时运行,所以需要在客户端实时地使用运行效率较高的编译型语言C++调用深度学习模型文件进行计算。因此,在现有技术中,可将深度学习模型保存为模型文件,然后服务器端以明文或者压缩包的方式下发客户端执行。但由于现有的压缩格式(.zip、.rar等)较为常见且固定,所以明文深度学习模型或其压缩包可能在网络传输过程或客户端本被解压破解,造成核心技术算法被盗用的后果,产生不可挽回的损失。此外,在另外的现有技术中,可将深度学习模型保存为模型文件,在服务器端使用非对称加密算法进行加密,将加密过的模型及密钥通过网络下发客户端执行。但由于非对称加密采用了数学上的难解问题进行构造,加密速度较快而解密速度较慢,不能满足实时解密模型进行运算的场景。
为了解决现有技术中存在的在服务器端和客户端之间下发模型文本的安全性能和在客户端实时解密模型以执行无法兼顾的问题,本公开提出一种新的模型文件的发送方法及其装置和模型文件的接收方法及其装置,即,结合使用单向加密算法和对称加密/解密算法对模型文件进行加密和解密。具体地说,由于对称加密/解密算法使用的密钥在加密方和解密方一致,可预先约定,在加密的模型文件传输过程中无需传输密钥,因此,即使模型文件在网络传输过程中或在客户端被窃取,没有密钥也无法完成对模型的解密和运行,从而保证了模型文件在客户端的安全执行。然而,由于现有加密算法所约定的密钥是固定长度的(通常为16位),如果使用简单的数字和字母进行加密,那么很容易被现有的简单程序通过暴力生成数字字母的组合在短时间内破解。因此,本公开提出了可使用单向加密算法产生对称加密/解密算法使用的密钥,单向加密算法可以将任意长度的字符串映射为复杂的固定位数的字符串,从而保证了密钥的复杂性,使得加密后的模型更加难以破解。例如,客户端与服务端约定一个很简单但是不限制长度的字符串,这样方便记忆,但是实际上这样的字符串映射出的16位密钥是很复杂的,不容易被破解。此外,本公开还提出了在客户端对加密的模型文件进行解密和运行时,将加密的模型文件加载到客户端的随机存取存储器(RAM)中,并在RAM中执行解密和运行,这样可保证模型执行结束后,模型文件仍处于加密状态,从而保证了模型文件在客户端存储的安全性。下面,将参照图1至图8详细描述根据本公开的模型文件的发送方法及装置和模型文件的接收方法及装置。
图1是示出根据本公开的示例性实施例的模型文件的发送和接收方法的场景示意图。
参照图1,在发送方,需要密钥K(即,用于加密明文的密码)对明文P(即,没有经过加密的数据)进行加密以产生密文(经加密函数处理后的数据),并将密文通过网络传输发送到接收方。在对称加密算法中,发送方将明文和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。接收方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,加密和解密的密钥是相同的,这就要求解密方事先必须知道加密密钥。这里,对称加密算法可DES算法、3DES算法、TDEA算法、Blowfish算法、RC5算法、IDEA算法等。例如,一种对称加密算法的实现方法可以是高级加密标准(Advanced Encryption Standard,AES)。因此,C=E(K,P),这里,E为AES加密函数,P为明文,K为密钥,C为密文。也就是说,把明文P和密钥K作为加密函数E的参数输入,则加密函数E会输出密文C。
在接收方,通过网络传输接收到密文C之后,可利用密钥K对密文C进行解密以产生明文P。例如,使用AES解密函数进行解密,即,P=D(K,C),这里,D为AES解密函数,C为密文,K为密钥,P为明文。也就是说,把密文C和密钥K作为解密函数D的参数输入,则解密函数D会输出明文P。
图2是示出根据本公开的示例性实施例的模型文件的发送和接收的整体系统示意图。
参照图2,发送方(例如,服务器端)和接收方(例如,客户端)可预先约定一致任意长度的预定字符串。服务器端可使用单向加密算法将所述预定字符串生成一个固定位数的复杂的加密密钥,然后通过对称加密算法,基于生成的加密密钥对模型(例如,深度学习模型、隐马尔可夫模型等)文件进行加密,然后通过网络将加密后的模型文件下发到客户端。这里,模型文件可表示模型可被传输的一件存在形式,模型文件可等同于模型,并可互换使用。
客户端可接收由网络传输下发的加密的模型文件,然后使用相同的单向加密算法将所述预定字符串生成一个固定位数的复杂的解密密钥,然后通过对称解密算法,基于生成的解密密钥对加密的模型文件进行二进制解密,并运行可解密后的模型文件。该方案既保证了密钥的复杂性,使得加密后的模型更加难以破解,又能使解密变得简单快速,能够满足实时运算的场景。
此外,客户端在接收到加密的模型文件之后,可将加密的模型文件加载到客户端的RAM中,并在RAM中,生成解密密钥,对加密的模型文件进行解密,并运行解密后的模型。这样,当模型运行结束后,由于RAM的易失性特性,在客户端保存的仍是加密的模型文件。该方案能够保证模型在客户端存储的安全性。
图3是示出根据本公开的示例性实施例的模型文件的发送方法的流程图。这里,根据本公开的示例性实施例的模型文件的发送方法适用于模型文件的发送方,例如,服务器等。
参照图3,在步骤301,可获取与接收方约定一致的预定字符串。
根据本公开的示例性实施例,所述预定字符串可以是由用户指定的任意长度的字符串。例如,发送方和接收方可约定一个很简单但不限长度(可以很长)的字符串。
在步骤302,可根据单向加密算法对预定字符串进行加密以产生加密密钥。
根据本公开的示例性实施例,可根据单向加密算法,将由用户指定的任意长度的预定字符串映射为固定长度(例如,16位)的加密密钥。
在这种情况下,当接收方需要解密时,需采用相同的单向加密算法,对约定好的预定字符串进行加密,以产生相同的解密密钥。这里,单向加密算法可包括消息摘要算法(例如,MD2、MD4、MD5、SHA-1、SHA-256、HMAC、RIPEMD128、RIPEMD160等)。
下面,将以MD5为例说明如何基于预定字符串产生固定位数的加密密钥。当然,本公开可使用的单向加密算法不限于MD5,还可使用任何可能的单向加密算法。
首先,处理原文。需要对预定字符串string进行填充,使其位长对512求余的结果等于448,并且填充必须进行,即使其位长对512求余的结果等于448。因此,信息的位长(Bits Length)将被扩展至N*512+448,N为一个非负整数,N可以是零。
随后,设置初始值。MD5的哈希(hash)结果长度为128位,按每32位分成一组共4组。这4组结果是由4个初始值A、B、C、D经过不断演变得到,通常被初始化为以下16进制的数值:
A=0x01234567,B=0x89ABCDEF,C=0xFEDCBA98,D=0x76543210。
随后,循环加密。图4是示出根据本公开的示例性实施例的MD5循环加密的示意图。如图4所示,A,B,C,D就是哈希值的四个分组。每一次循环都会让旧的ABCD产生新的ABCD。假设处理后的字符串长度是M,主循环次数=M/512,每个主循环中包含512/32*4=64次子循环。图4仅示出单次子循环的流程。图4中的F、G、H、I表示非线性逻辑运算函数,分别表示以下四种:
F(X,Y,Z)=(X&Y)|((~X)&Z) (1)
G(X,Y,Z)=(X&Z)|(Y&(~Z)) (2)
H(X,Y,Z)=X^Y^Z (3)
I(X,Y,Z)=Y^(X|(~Z)) (4)
其中,X、Y、Z分别表示上面的B、C、D,&表示按位与,~表示按位取反,|表示按位取或,^表示异或。+表示相加,<<<S表示循环左移,Mi表示消息的第i个子分组(从0到15),常数Ki是4294967296*abs(sin(i))的整数部分,i取值从1到64,单位是弧度。
随后,拼接结果。最后输出A、B、C、D的级联,并转化为字符串,产生加密密钥。
返回参照图3,在步骤303,可根据对称加密算法,使用加密密钥对模型文件进行加密。例如,Menc=f(Mori,Keyen),其中,Menc表示加密后的模型,Mori表示加密前的原始模型,Keyen表示加密密钥,f()表示加密函数(算法)。
在步骤304,可将加密后的模型文件发送到接收方。例如,可通过网络传输等方式将加密后的模型文件发送到接收方。
图5是示出根据本公开的示例性实施例的模型文本的接收方法的流程图。这里,根据本公开的示例性实施例的模型文件的接收方法适用于模型文件接收方,例如,客户端等。
参照图5,在步骤501,可从发送方接收使用对称加密算法加密的模型文件。例如,可通过网络传输等方式将加密后的模型文件发送到接收方。在接收到加密的模型文件时,例如,可将加密的模型文件存储在客户端的非易失性存储器(NVM)中。
在步骤502,可获取与发送方约定一致的预定字符串。
根据本公开的示例性实施例,所述预定字符串可以是由用户指定的任意长度的字符串。例如,发送方和接收方可约定一个很简单但不限长度(可以很长)的字符串。
在步骤503,可根据单向加密算法对预定字符串进行加密以产生解密密钥。
根据本公开的示例性实施例,可根据单向加密算法,将由用户指定的任意长度的预定字符串映射为固定长度(例如,16位)的加密密钥。这里,单向加密算法可包括消息摘要算法(例如,MD2、MD4、MD5、SHA-1、SHA-256、HMAC、RIPEMD128、RIPEMD160等)。例如,当使用MD5产生解密密钥时,可使用如上所述的方式进行单向加密,以获得解密密钥。
在步骤504,可根据与对称加密算法相应的对称解密算法,使用解密密钥对接收到的加密模型文件进行解密。例如,Mdec=f-1(Menc,Keyde),这里,Mdec表示解密后的模型,Menc表示加密后的模型,Keyde表示解密密钥,f-1()表示解密函数(算法)。这里,f-1()与上述的f()的逆函数(算法)。
根据本公开的示例性实施例,在对接收到的加密模型文件进行解密时,可将接收到的加密模型文件读取到内存中,例如,以二进行的数据流的形式将接收到的加密模型文件读取到内存中。可在内存中根据单向加密算法对预定字符串进行加密以产生解密密钥(即,步骤503)。可在内存中根据与对称加密算法相应的对称解密算法,使用解密密钥对接收到的加密模型文件进行解密(即,步骤504)。此外,还可在内存中运行解密后的模型文件。这样可保证在模型运行结束后,模型在客户端(例如,在非易失性存储器)中仍然处于加密状态,保证了模型可在客户端安全存放。
图6是示出根据本公开的示例性实施例的模型文件的发送装置的框图。这里,根据本公开的示例性实施例的模型文件的发送装置服务于模型文件的发送方,例如,服务器等。例如,可包括在发送方中,或者可与发送方可通性地连接。
参照图6,根据本公开的示例性实施例的模型文件的发送装置600包括获取单元601、密钥产生单元602、加密单元603和发送单元604。
获取单元601可获取与接收方约定一致的预定字符串。根据本公开的示例性实施例,所述预定字符串可以是由用户指定的任意长度的字符串。例如,发送方和接收方可约定一个很简单但不限长度(可以很长)的字符串。
密钥产生单元602可根据单向加密算法对预定字符串进行加密以产生加密密钥。
根据本公开的示例性实施例,密钥产生单元602可根据单向加密算法,将由用户指定的任意长度的预定字符串映射为固定长度(例如,16位)的加密密钥。在这种情况下,当接收方需要解密时,需采用相同的单向加密算法,对约定好的预定字符串进行加密,以产生相同的解密密钥。这里,单向加密算法可包括消息摘要算法(例如,MD2、MD4、MD5、SHA-1、SHA-256、HMAC、RIPEMD128、RIPEMD160等)。
加密单元603可根据对称加密算法,使用加密密钥对模型文件进行加密。
发送单元604可将加密后的模型文件发送到接收方。例如,可通过网络传输等方式将加密后的模型文件发送到接收方。
图7是示出根据本公开的示例性实施例的模型文件的接收装置的框图。这里,根据本公开的示例性实施例的模型文件的接收装置服务于模型文件的接收方,例如,客户端等。例如,可包括在接收方中,或者可与接收方可通性地连接。
参照图7,根据本公开的示例性实施例的模型文件的接收装置700包括接收单元701、获取单元702、密钥产生单元703和解密单元704。
接收单元701可从发送方接收使用对称加密算法加密的模型文件。例如,接收单元701可通过网络传输等方式将加密后的模型文件发送到接收方。接收单元701在接收到加密的模型文件时,例如,可将加密的模型文件存储在客户端的非易失性存储器(NVM)中。
获取单元702可获取与发送方约定一致的预定字符串。根据本公开的示例性实施例,所述预定字符串可以是由用户指定的任意长度的字符串。例如,发送方和接收方可约定一个很简单但不限长度(可以很长)的字符串。
密钥产生单元703可根据单向加密算法对预定字符串进行加密以产生解密密钥。
根据本公开的示例性实施例,密钥产生单元703可根据单向加密算法,将由用户指定的任意长度的预定字符串映射为固定长度(例如,16位)的加密密钥。这里,单向加密算法可包括消息摘要算法(例如,MD2、MD4、MD5、SHA-1、SHA-256、HMAC、RIPEMD128、RIPEMD160等)。例如,当使用MD5产生解密密钥时,可使用如上所述的方式进行单向加密,以获得解密密钥。
解密单元704可使用与对称加密算法相应的对称解密算法,使用解密密钥对接收到的加密模型文件进行解密。
根据本公开的示例性实施例,可将接收到的加密模型文件读取到内存中,例如,以二进行的数据流的形式将接收到的加密模型文件读取到内存中。密钥产生单元703可在内存中根据单向加密算法对预定字符串进行加密以产生所述解密密钥。解密单元704可在内存中根据与对称加密算法相应的对称解密算法,使用解密密钥对接收到的加密模型文件进行解密。根据本公开的示例性实施例的模型文件的接收装置700还可包括运行单元(未示出),运行单元可在内存中运行解密后的模型文件。这样可保证在模型运行结束后,模型在客户端(例如,在非易失性存储器)中仍然处于加密状态,保证了模型可在客户端安全存放。
图8是根据本公开的示例性实施例的电子设备800的框图。
参照图8,电子设备800包括至少一个存储器801和至少一个处理器802,所述至少一个存储器801中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器802执行时,执行根据本公开的示例性实施例的模型文件的发送方法或模型文件的接收方法。
作为示例,电子设备800可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备800并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备800还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备800中,处理器802可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器802可运行存储在存储器801中的指令或代码,其中,存储器1001还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器801可与处理器802集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器801可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器801和处理器802可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器802能够读取存储在存储器中的文件。
此外,电子设备800还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备800的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的模型文件的发送方法或模型文件的接收方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的示例性实施例的模型文件的发送方法或模型文件的接收方法。
根据本公开的模型文件的发送方法和装置以及模型文件的接收方法和装置,结合使用单向加密算法和对称加密/解密算法对模型文件进行加密和解密,即,使用单向加密算法将任意长度内容的信息字符串映射为固定位数的对称加密/解密算法使用的密钥,这样无需传输密钥,同时保证了密钥的复杂性,使得加密后的模型更加难以破解,防止密钥被暴力破解,即使模型文件在网络传输过程中或在客户端被窃取,没有密钥也无法完成对模型的解密和运行,从而保证了模型文件在客户端的安全执行。此外,由于对称解密算法运算速度快,可适用于模型的实时运行的场景。
此外,根据本公开的模型文件的发送方法和装置以及模型文件的接收方法和装置,可在客户端的RAM中执行对模型的解密和运行,这样可保证模型执行结束后,模型仍处于加密状态,从而保证了模型在客户端存储的安全性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种模型文件的发送方法,应用于发送方,其特征在于,包括:
获取由所述发送方与接收方约定一致的预定字符串,其中,所述预定字符串具有由用户指定的任意长度;
根据单向加密算法,对所述预定字符串进行加密以产生具有预定长度的加密密钥;
根据对称加密算法,使用所述加密密钥对模型文件进行加密;
将加密后的模型文件发送到所述接收方,
其中,所述加密后的模型文件被存储在所述接收方的非易失性存储器中,被从所述非易失性存储器读取到所述接收方的内存中,并在所述内存中被解密并运行,其中,所述在所述内存中被解密并运行包括:在所述内存中根据所述单向加密算法对所述预定字符串进行加密以产生解密密钥;在所述内存中根据与所述对称加密算法相应的对称解密算法,使用所述解密密钥对接收到的加密模型文件进行解密;并在所述内存中运行解密后的模型文件。
2.如权利要求1所述的发送方法,其特征在于,所述单向加密算法为信息摘要算法。
3.一种模型文件的接收方法,应用于接收方,其特征在于,包括:
从发送方接收使用对称加密算法加密的加密模型文件并将所述加密模型文件存储在非易失性存储器中,其中,所述称加密算法加密所使用的加密密钥是由所述发送方根据单向加密算法对预定字符串进行加密而产生的具有预定长度的密钥,其中,所述预定字符串由所述发送方与所述接收方约定一致且具有由用户指定的任意长度;
获取所述预定字符串;
将所述加密模型文件从所述非易失性存储器读取到内存中;
在所述内存中根据所述单向加密算法,对所述预定字符串进行加密以产生与所述加密密钥相同的解密密钥;
在所述内存中根据与所述对称加密算法相应的对称解密算法,使用所述解密密钥对接收到的加密模型文件进行解密;
在所述内存中运行解密后的模型文件。
4.如权利要求3所述的接收方法,其特征在于,所述单向加密算法为信息摘要算法。
5.一种模型文件的发送装置,应用于发送方,其特征在于,包括:
获取单元,被配置为获取由所述发送方与接收方约定一致的预定字符串,其中,所述预定字符串具有由用户指定的任意长度;
密钥产生单元,被配置为根据单向加密算法,对所述预定字符串进行加密以产生具有预定长度的加密密钥;
加密单元,被配置为根据对称加密算法,使用所述加密密钥对模型文件进行加密;
发送单元,被配置为将加密后的模型文件发送到所述接收方,
其中,所述加密后的模型文件被存储在所述接收方中,并被读取到所述接收方的内存中,在所述内存中被解密并运行,其中,所述在所述内存中被解密并运行包括:在所述内存中根据所述单向加密算法对所述预定字符串进行加密以产生解密密钥;在所述内存中根据与所述对称加密算法相应的对称解密算法,使用所述解密密钥对接收到的加密模型文件进行解密;并在所述内存中运行解密后的模型文件。
6.如权利要求5所述的发送装置,其特征在于,所述单向加密算法为信息摘要算法。
7.一种模型文件的接收装置,应用于接收方,其特征在于,包括:
接收单元,被配置为从发送方接收使用对称加密算法加密的加密模型文件,并将所述加密模型文件存储在非易失性存储器中,其中,所述称加密算法加密所使用的加密密钥是由所述发送方根据单向加密算法对预定字符串进行加密而产生的具有预定长度的密钥,其中,所述预定字符串由所述发送方与所述接收方约定一致且具有由用户指定的任意长度;
获取单元,被配置为获取所述预定字符串;
读取单元,被配置为将所述加密模型文件从所述非易失性存储器读取到内存中;
密钥产生单元,被配置为在所述内存中根据所述单向加密算法,对所述预定字符串进行加密以产生与所述加密密钥相同的解密密钥;
解密单元,被配置为在所述内存中根据与所述对称加密算法相应的对称解密算法,使用所述解密密钥对接收到的加密模型文件进行解密;
运行单元,被配置为在所述内存中运行解密后的模型文件。
8.如权利要求7所述的接收装置,其特征在于,所述单向加密算法为信息摘要算法。
9.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到2中的任一权利要求所述的模型文件的发送方法或如权利要求3到4中的任一权利要求所述的模型文件的接收方法。
10.一种存储指令的计算机可读存储介质,其特征在于,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到2中的任一权利要求所述的模型文件的发送方法或如权利要求3到4中的任一权利要求所述的模型文件的接收方法。
CN202110528977.0A 2021-05-14 2021-05-14 模型文件的发送方法和装置及模型文件的接收方法和装置 Active CN113259438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110528977.0A CN113259438B (zh) 2021-05-14 2021-05-14 模型文件的发送方法和装置及模型文件的接收方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110528977.0A CN113259438B (zh) 2021-05-14 2021-05-14 模型文件的发送方法和装置及模型文件的接收方法和装置

Publications (2)

Publication Number Publication Date
CN113259438A CN113259438A (zh) 2021-08-13
CN113259438B true CN113259438B (zh) 2023-03-31

Family

ID=77183443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110528977.0A Active CN113259438B (zh) 2021-05-14 2021-05-14 模型文件的发送方法和装置及模型文件的接收方法和装置

Country Status (1)

Country Link
CN (1) CN113259438B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442409A (zh) * 2007-11-23 2009-05-27 东方钢铁电子商务有限公司 用于b2b数据交换的加密方法及系统
CN106788995A (zh) * 2016-12-07 2017-05-31 武汉斗鱼网络科技有限公司 文件加密方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340279B (zh) * 2008-07-09 2011-02-02 深圳市金蝶友商电子商务服务有限公司 数据加密及解密方法、系统及设备
US11223607B2 (en) * 2017-07-13 2022-01-11 Telefonaktiebolaget Lm Ericsson (Publ) Encrypted content with dynamic key for content enrichment
CN107332666A (zh) * 2017-08-17 2017-11-07 创元网络技术股份有限公司 终端文件加密方法
CN107425970A (zh) * 2017-09-27 2017-12-01 郑州云海信息技术有限公司 一种p2p网络的文件传输方法、发送端、接收端及介质
CN108989287B (zh) * 2018-06-13 2020-11-27 平安科技(深圳)有限公司 加密方法、装置、终端设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442409A (zh) * 2007-11-23 2009-05-27 东方钢铁电子商务有限公司 用于b2b数据交换的加密方法及系统
CN106788995A (zh) * 2016-12-07 2017-05-31 武汉斗鱼网络科技有限公司 文件加密方法及装置

Also Published As

Publication number Publication date
CN113259438A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
CN109150499B (zh) 动态加密数据的方法、装置、计算机设备和存储介质
US8300828B2 (en) System and method for a derivation function for key per page
TWI489847B (zh) 資料加密方法、資料驗證方法及電子裝置
CN108476136B (zh) 密文转换装置、计算机能读取的记录介质和密文转换方法
US9350544B2 (en) Apparatus for encrypting data
US20140195804A1 (en) Techniques for secure data exchange
US10608813B1 (en) Layered encryption for long-lived data
CN110084599B (zh) 密钥处理方法、装置、设备和存储介质
JP5593458B2 (ja) 文字列がオートマトンに受理されるか否かを認証するシステム
CN110138739B (zh) 数据信息加密方法、装置、计算机设备及存储介质
US10476663B1 (en) Layered encryption of short-lived data
CN112738051B (zh) 数据信息加密方法、系统及计算机可读存储介质
CN110019075B (zh) 日志加密方法与解密方法及装置
CN105721156A (zh) 用于模幂加密方案的通用编码函数
US20210279341A1 (en) Cryptographic security system, method, and program product using data partitioning
CN113434852A (zh) 密码处理方法、密码验证方法及装置、介质及电子设备
CN114338648A (zh) 一种基于国密算法的sftp多端文件安全传输的方法及系统
US8751819B1 (en) Systems and methods for encoding data
US11356254B1 (en) Encryption using indexed data from large data pads
TWI488478B (zh) 執行對稱加密的技術
CN113259438B (zh) 模型文件的发送方法和装置及模型文件的接收方法和装置
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
US11108552B1 (en) Data encryption method and system
Velioğlu et al. A New Approach to Cryptographic Hashing: Color Hidden Hash Algorithm
Kim et al. A modified exhaustive search on a password system using SHA-1

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