CN109921894B - 数据传输加密方法、装置及存储介质、服务器 - Google Patents
数据传输加密方法、装置及存储介质、服务器 Download PDFInfo
- Publication number
- CN109921894B CN109921894B CN201910113188.3A CN201910113188A CN109921894B CN 109921894 B CN109921894 B CN 109921894B CN 201910113188 A CN201910113188 A CN 201910113188A CN 109921894 B CN109921894 B CN 109921894B
- Authority
- CN
- China
- Prior art keywords
- key
- data
- token
- data transmission
- stored
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Abstract
本发明涉及密码技术、信息加解密、对称加密技术领域,本申请实施例提供的一种数据传输加密方法,包括:获取当前数据存储请求,以及依据所当前数据存储请求生成的第一令牌和第一随机位;通过第一随机位从第一令牌中获取第一随机位对应数量的字符;将字符转换成Ascii码值,对Ascii码值进行处理获得密钥转换数组;依据密钥转换数组确定第一密钥;基于第一密钥对待存储数据进行AES加密。本申请中前端每次通过AES动态生成密码,进而提高了数据传输的安全性。通过AES密码算法便于调整,增加了密码破解难度,再次提高了数据在传输的安全性。
Description
技术领域
本发明涉及密码技术、信息加解密、对称加密技术领域,具体涉及一种数据传输加密方法、装置及存储介质、服务器。
背景技术
随着各类应用系统的发展,数据在互联网上的安全受到了重视,特别是对于数据安全要求程度比较高的一些业务;如银行、军工、证券等行业。数据广泛在互联网上进行传输,随时有可能被截取的可能,如果数据使用明文发送,数据的安全毫无保证。同时有些行业,客户众多、业务需求大,如果使用固定的加密密钥进行相关数据的传送,会存在大量管理各种密钥的问题。常用RSA和AES加密算法进行加密传输等对传输数据加密,RSA是非对称密钥,安全性高,性能比较慢,对于大并发处理不太合适;AES是对称密钥,安全性高,性能块,但是密码只有一个,所以前端存储不安全。为了提高系统的运行效率和安全性,业务需要提高加解密速度的同时又能保证数据加密的安全性,其中,多数会采用AES对称密钥进行加密传输到后台。但是,通过AES对传输数据进行加密,密钥的安全性取决于密钥的获取方法和存储,而目前密钥的获取方法和存储使得通过AES加密的传输数据的安全性较低。
发明内容
为克服以上技术问题,特别是通过AES对传输数据加密时,密钥的获取方法和存储使得通过AES加密的传输数据的安全性较低的问题,特提出以下技术方案:
本发明实施例提供的一种数据传输加密方法,包括:
获取当前数据存储请求,依据所述当前数据存储请求生成第一令牌和第一随机位;
提取所述当前数据存储请求中包含的待存储数据,基于所述第一令牌和第一随机位对所述待存储数据进行AES加密,获得第一密钥;
对所述第一密钥进行md5加密,获得密文数据包。
可选地,所述基于所述第一令牌和第一随机位对所述待存储数据进行AES加密,获得第一密钥,包括:
通过所述第一随机位从第一令牌中获取所述第一随机位对应数量的字符;
将所述字符转换成Ascii码值,对所述Ascii码值进行处理获得密钥转换数组;
依据所述密钥转换数组确定第一密钥。
可选地,所述依据所述密钥转换数组确定第一密钥包括:
提取第一令牌中字符串下标与所述密钥转换数组中的各元素相对应的字符;
依据所述字符获得密钥字符串,基于所述密钥字符串确定第一密钥。
可选地,所述对所述第一密钥进行md5加密,获得密文数据包,包括:
获取所述第一令牌和所述当前时间戳;
对所述第一令牌、所述当前时间戳和所述第一密钥进行md5加密,获得所述密文数据包。
可选地,所述对所述第一密钥进行md5加密,获得密文数据包之后,包括:
获取所述第一令牌和所述当前时间戳;
基于所述第一令牌、所述当前时间戳、所述密文数据包和加密后的所述待存储数据生成数据传输包。
可选地,所述基于所述第一令牌、所述当前时间戳、所述密文数据包和加密后的所述待存储数据生成数据传输包之后,包括:
将所述数据传输包传输到数据存储服务器,提取所述数据传输包中的第一令牌和所述当前时间戳;
判断所述第一令牌和所述当前时间戳是否在预设有效时间内;
当所述第一令牌和所述当前时间戳中任一个不在所述预设有效时间内时,拒绝所述当前数据存储请求。
本发明实施例还提供了一种数据传输加密装置,包括:
获取模块,用于获取当前数据存储请求,依据所述当前数据存储请求生成第一令牌和第一随机位;
第一密钥确定模块,用于提取所述当前数据存储请求中包含的待存储数据,基于所述第一令牌和第一随机位对所述待存储数据进行AES加密,获得第一密钥;
加密模块,用于对所述第一密钥进行md5加密,获得密文数据包。
可选地,所述第一密钥确定模块,包括:
字符获取单元,用于通过所述第一随机位从第一令牌中获取所述第一随机位对应数量的字符;
转换单元,用于将所述字符转换成Ascii码值,对所述Ascii码值进行处理获得密钥转换数组;
第一密钥确定单元,用于依据所述密钥转换数组确定第一密钥。
本发明实施例还提供了一种服务器,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据任一技术方案所述的数据传输加密方法的步骤。
本发明与现有技术相比,具有以下有益效果:
1、本申请实施例提供的一种数据传输加密方法,包括:获取当前数据存储请求,依据所述当前数据存储请求生成第一令牌和第一随机位;提取所述当前数据存储请求中包含的待存储数据,基于所述第一令牌和第一随机位对所述待存储数据进行AES加密,获得第一密钥;对所述第一密钥进行md5加密,获得密文数据包。前端接收到当前次的数据存储请求之后,从当前次数据存储请求中提取出待存储数据,以便于前端能够获得待存储数据,为了保证前端将待存储数据传输到后端的安全性;为了保证前后端数据传输过程的安全性,在前端对待存储数据进行加密之后,后端能够及时地对待传输数据进行验证,保证前后端密钥的一致性,第一令牌和第一随机位是由后端生成并提供给前端的,在保证数据传输安全性时,同时保证密钥的可验证性。
2、本申请实施例提供的一种数据传输加密方法,所述对所述第一密钥进行md5加密,获得密文数据包之后,包括:获取所述第一令牌和所述当前时间戳;基于所述第一令牌、所述当前时间戳、所述密文数据包和加密后的所述待存储数据生成数据传输包。前端对待存储数据进行AES加密之后,保证了数据传输过程的安全,且在AES加密前的第一密钥,保证了该待存储数据存储在后端的安全性。为了避免后端对AES加密之后的待存储数据进行解密的过程,在本申请提供的实施例中,为后端提供了方便后端进行密钥验证的数据传输包,该数据传输包中包括了所述第一令牌、所述当前时间戳、所述密文数据包和加密后的所述待存储数据,进而在后端进行验证时,则可以直接验证对数据传输包中的第一令牌、当前时间戳进行验证,避免后端在多次验证完成之后,才发现待存储数据被截获过,提高了后端验证的效率。即后端可以提取数据传输包中的第一令牌和当前时间戳进行有效时间的验证,如果第一令牌和当前时间戳中有一个是超出其对应的有效时间时,则说明该待存储数据则可能被截获篡改过,为了保证后端中其他存储的其他数据的安全性,系统就会拒绝前述的当前数据存储请求。同时也提高了后端密钥验证的速率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明数据传输加密方法的典型实施例中一种实施方式的流程示意图;
图2为本发明数据传输加密装置的典型实施例的结构示意图;
图3为本发明服务器的一实施例结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
本申请提供的实施例中,主要应用于通过前端将数据传输到后端的系统中,前端在接收一次数据存储请求时,则对该次需要传输的数据进行加密传输,即将传输的数据加密并传输到后端中,后端接收到需要存储的数据时,验证该数据传输的密码,在密码正确时,则将该数据存储在后端中,若密码不正确,则后端拒绝该次数据存储请求。通过该方法实现了包括前端和后端系统的数据传输和存储的分离,在本申请提供的实施例中,不管是否为同一客户端提出的多次数据存储请求时,前端则对每一次数据存储请求中传输的数据进行加密,且每次密码通过AES动态生成,进而提高了数据传输的安全性。通过AES对传输的数据进行加密,便于调整密码算法,增加了密码破解难度,进一步地提高了数据在传输过程中的安全性。
本申请实施例提供的一种数据传输加密方法,在其中一种实施方式中,如图1所示,包括:S100、S200、S300。
S100:获取当前数据存储请求,依据所述当前数据存储请求生成第一令牌和第一随机位;
S200:提取所述当前数据存储请求中包含的待存储数据,基于所述第一令牌和第一随机位对所述待存储数据进行AES加密,获得第一密钥;
S300:对所述第一密钥进行md5加密,获得密文数据包。
前端接收到当前次的数据存储请求之后,从当前次数据存储请求中提取出待存储数据,以便于前端能够获得待存储数据,为了保证前端将待存储数据传输到后端的安全性,获得待存储数据之后,前端则立刻生成第一令牌(Token)和第一随机位,其中Token是32位的UUID(通用识别码),让系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。随机位可以为一个小于32位的随机数。在本申请提供的实施例中,为了保证前后端数据传输过程的安全性,在前端对待存储数据进行加密之后,后端能够及时地对待传输数据进行验证,保证前后端密钥的一致性,第一令牌和第一随机位是由后端生成并提供给前端的,在保证数据传输安全性时,同时保证密钥的可验证性。由于仅是在获取到当前数据存储请求之后,并进行后续的步骤,进而实现了每一次获取新的密钥时,都会生成一个新的token和随机位,进而保证AES每一次加密密钥都不一样,提高密钥的安全性和破解难度。在前述的基础上,为了保证待存储数据从前端传输到后端过程中的安全性,则需要对待存储数据进行加密,加密密钥是基于第一令牌和第一随机位生成的,加密密钥的生成过程在前端完成,以便于前端能够及时地对待存储数据进行加密。具体加密密钥的生成过程详见后文,在此不做赘述。为了能够更好地保证待存储数据在传输过程中的安全性,在本申请提供的实施例中,还需要通过md5对第一密钥加密,即针对第一密钥中的内容进行加密,通过再一次的加密也再一次增加了第一密钥的破解难度,进一步地保证可待存储数据在传输过程中的安全性。由于AES是对称密钥,安全性高、加密过程的性能快,且密码只有一个,该方法也保证了待存储数据传输的快捷性,一个密码方便后端对该AES加密的密码进行验证。由于前端仅是对待存储数据加密,后端用于存储数据,进而在保证数据传输过程中的安全性时,也能够保证数据存储的安全性。
可选地,所述基于所述第一令牌和第一随机位对所述待存储数据进行AES加密,获得第一密钥,包括:
通过所述第一随机位从第一令牌中获取所述第一随机位对应数量的字符;
将所述字符转换成Ascii码值,对所述Ascii码值进行处理获得密钥转换数组;
依据所述密钥转换数组确定第一密钥。
如前所述,为了保证待存储数据从前端传输到后端过程中的安全性,则需要对待存储数据进行加密,加密密钥是基于第一令牌和第一随机位生成的,加密密钥的生成过程在前端完成,以便于前端能够及时地对待存储数据进行加密。在本申请提供的实施例中,通过第一随机位从第一令牌中获取所述第一随机位对应数量的字符,由于第一随机位是可以调整的,进而可以使得每一次从第一令牌中获取的字符以及字符数量都不一样,进而保证每一次数据存储请求中待存储数据的密钥都不一样,增加了密钥的破解难度,同时随着随机位位数变化,使得每一次从获取Token中获取的字符数量也不同,进一步增加了谜语破解难度。从前述过程可知,随机位的位数容易调整,使得每一次计算密钥的算法比较容易调整,在保证数据传输安全性的基础上,也不会增加系统计算量,保证密钥计算过程的快捷性。在第一密钥计算过程中,获取到所述第一随机位对应数量的字符之后,则将该字符转换成Ascii码值,之后可以通过前后异的方法获取到密钥转换数组,在对密钥转换数据进一步处理,则可以确定待存储数据的第一密钥。密钥转换数组还可以直接从Ascii码值中直接提取对应位数的数组。为了便于理解,本申请的实施例提供了如下示例进行说明,如前所述,对于每次获取密钥的时候会生成新的Token和随机位; Token是32位的UUID; 随机位是一个小于32的随机数,前端根据最新得到的Token和随机位可以得到对应的密钥。例如,通过随机位从Token中对应的位置开始计算获取17个字符,再将这17个字符转换成对应Ascii码值,进行前后异或获取一组16位数组,如:这样一组Ascii码值[57, 100, 49, 54, 97, 49,51, 49, 53, 51, 53, 100, 101, 100, 50, 97, 101] 计算方式:57异或100,100异或49以此类推,得到一个16位的数组,该16位数组即为前述的密钥转换数组。对密钥转换数据进一步处理,确定待存储数据的第一密钥的过程详见后文,在此不做赘述。
可选地,所述依据所述密钥转换数组确定第一密钥包括:
提取第一令牌中字符串下标与所述密钥转换数组中的各元素相对应的字符;
依据所述字符获得密钥字符串,基于所述密钥字符串确定第一密钥。
在前述的基础上确定了密钥转换数组之后,则基于该密钥转换数组从第一令牌中提取对应下标的字符出来,即Token中的每个字符都具有相应的下标,当Token中的某个字符的下标与密钥转换数组中的某一数字相等时,则将具有该下标的某个字符提取出来,作为第一密钥的内容,由于密钥转换数组具有中具有多个元素,即多个数字,因此,可以通过密钥转换数组从Token中提取出多个字符,组成一个字符串,该字符串的所有内容作为第一密钥的内容,同时该字符串作为密钥字符串。结合前述示例,在获得16位的密钥转换数组之后,通过这16位的数字数组在Token这个字符串中提取对应下标的字符出来,组成一个字符串,该字符串中至少包括了16个字符。可选地,所述对所述第一密钥进行md5加密,获得密文数据包,包括:
获取所述第一令牌和所述当前时间戳;
对依据所述第一令牌、所述当前时间戳和所述第一密钥进行md5加密,获得所述密文数据包。
为了提高后端验证的安全性,在获得密钥字符串之后,还需要对第一密钥进一步地进行具有时效的安全加密。因此,获取产生该密钥字符串同时产生的时间戳。即该时间戳和密钥字符串同时产生,因此为密钥字符串的当前时间戳。将密钥字符串和当前时间戳一起进行md5加密,获得第一密钥。md5加密算法是信息-摘要算法。通过该方法在后期验证时可以保证前端传输到后端的待存储数据一致性,避免待存储数据在传输过程中被截获重新加密后被存储在后端中。
可选地,所述对所述第一密钥进行md5加密,获得密文数据包之后,包括:
获取所述第一令牌和所述当前时间戳;
基于所述第一令牌、所述当前时间戳、所述密文数据包和加密后的所述待存储数据生成数据传输包。
前端对待存储数据进行AES加密之后,保证了数据传输过程的安全,且在AES加密前的第一密钥,保证了该待存储数据存储在后端的安全性。为了避免后端对AES加密之后的待存储数据进行解密的过程,在本申请提供的实施例中,为后端提供了方便后端进行密钥验证的数据传输包,该数据传输包中包括了所述第一令牌、所述当前时间戳、所述密文数据包和加密后的所述待存储数据,进而在后端进行验证时,则可以直接验证对数据传输包中的第一令牌、当前时间戳进行验证,避免后端在多次验证完成之后,才发现待存储数据被截获过,提高了后端验证的效率。
可选地,所述基于所述第一令牌、所述当前时间戳、所述密文数据包和加密后的所述待存储数据生成数据传输包之后,包括:
将所述数据传输包传输到数据存储服务器,提取所述数据传输包中的第一令牌和所述当前时间戳;
判断所述第一令牌和所述当前时间戳是否在预设有效时间内;
当所述第一令牌和所述当前时间戳中任一个不在所述预设有效时间内时,拒绝所述当前数据存储请求。
如前所述,将前述数据传输包传输到数据存储服务器(后端服务器),后端验证数据传输包中的密钥之前,先提取其中的Token和当前时间戳,该当前时间戳在产生密钥字符串同时产生,之后验证Token和当前时间戳是否在两各自对应的预设有效时间内,如果Token和当前时间戳中有一个是超出其对应的有效时间时,则说明该待存储数据则可能被截获篡改过,为了保证后端中其他存储的其他数据的安全性,系统就会拒绝前述的当前数据存储请求。示例性的,一个Token的有效期是15分钟,时间戳必须在3分钟内的,如果以上两个条件没满足,系统就会拒绝前述的当前数据存储请求,通过保证Token和时间戳两者均在其对应的有效期内,提高了后端数据存储的安全性,也保证了数据传输的安全性,前端则可以重新获取包括该待存储数据的数据存储请求,并对该待存储数据进行新的AES加密过程,以使得前端每一次加密的密钥不一致,提高了数据传输的安全性。
本发明实施例还提供了一种数据传输加密装置,在其中一种实施方式中,如图2所示,包括:第一获取模块100、第一密钥确定模块200、加密模块300:
第一获取模块100,用于获取当前数据存储请求,依据所述当前数据存储请求生成第一令牌和第一随机位;
第一密钥确定模块200,用于提取所述当前数据存储请求中包含的待存储数据,基于所述第一令牌和第一随机位对所述待存储数据进行AES加密,获得第一密钥;
加密模块300,用于对所述第一密钥进行md5加密,获得密文数据包。
进一步地,如图2所示,本发明实施例中提供的一种数据传输加密方法装置还包括:字符获取单元210,用于通过所述第一随机位从第一令牌中获取所述第一随机位对应数量的字符;转换单元220,用于将所述字符转换成Ascii码值,对所述Ascii码值进行处理获得密钥转换数组;第一密钥确定单元230,用于依据所述密钥转换数组确定第一密钥。提取单元231,用于提取第一令牌中字符串下标与所述密钥转换数组中的各元素相对应的字符;密钥字符串获得单元232,用于依据所述字符获得密钥字符串,基于所述密钥字符串确定第一密钥。获取单元310,用于获取所述第一令牌和所述当前时间戳;密文数据包获得单元320,用于对所述第一令牌、所述当前时间戳和所述第一密钥进行md5加密,获得所述密文数据包。第二获取模块410,用于获取所述第一令牌和所述当前时间戳;数据传输包生成模块420,用于基于所述第一令牌、所述当前时间戳、所述密文数据包和加密后的所述待存储数据生成数据传输包。提取模块430,用于将所述数据传输包传输到数据存储服务器,提取所述数据传输包中的第一令牌和所述当前时间戳;判断模块440,用于判断所述第一令牌和所述当前时间戳是否在预设有效时间内;拒绝模块450,用于当所述第一令牌和所述当前时间戳中任一个不在所述预设有效时间内时,拒绝所述当前数据存储请求。
本发明实施例提供的一种数据传输加密方法装置可以实现上述数据传输加密方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
本发明实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现任一项技术方案所述的数据传输加密方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
本发明实施例提供的一种计算机可读存储介质,可实现上述数据传输加密方法的实施例,在本申请中通过前端将数据传输到后端,前端在接收一次数据存储请求时,则对该次需要传输的数据进行加密传输,即将传输的数据加密并传输到后端中,后端接收到需要存储的数据时,验证该数据传输的密码,在密码正确时,则将该数据存储在后端中,若密码不正确,则后端拒绝该次数据存储请求。通过该方法实现了包括前端和后端系统的数据传输和存储的分离,在本申请提供的实施例中,同一客户端提出了多次数据存储请求时,前端则对每一次数据存储请求中传输的数据进行加密,且每次密码通过AES动态生成,进而提高了数据传输的安全性。通过AES对传输的数据进行加密,便于调整密码算法,增加了密码破解难度,进一步地提高了数据在传输过程中的安全性;本申请实施例提供的一种数据传输加密方法,包括:获取当前数据存储请求,依据所述当前数据存储请求生成第一令牌和第一随机位;提取所述当前数据存储请求中包含的待存储数据,基于所述第一令牌和第一随机位对所述待存储数据进行AES加密,获得第一密钥;对所述第一密钥进行md5加密,获得密文数据包。前端接收到当前次的数据存储请求之后,从当前次数据存储请求中提取出待存储数据,以便于前端能够获得待存储数据,为了保证前端将待存储数据传输到后端的安全性,获得待存储数据之后,前端则立刻生成第一令牌(Token)和第一随机位,其中Token是32位的UUID(通用识别码),让系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。随机位可以为一个小于32位的随机数。在本申请提供的实施例中,为了保证前后端数据传输过程的安全性,在前端对待存储数据进行加密之后,后端能够及时地对待传输数据进行验证,保证前后端密钥的一致性,第一令牌和第一随机位是由后端生成并提供给前端的,在保证数据传输安全性时,同时保证密钥的可验证性。由于仅是在获取到当前数据存储请求之后,并进行后续的步骤,进而实现了每一次获取新的密钥时,都会生成一个新的token和随机位,进而保证AES每一次加密密钥都不一样,提高密钥的安全性和破解难度。在前述的基础上,为了保证待存储数据从前端传输到后端过程中的安全性,则需要对待存储数据进行加密,加密密钥是基于第一令牌和第一随机位生成的,加密密钥的生成过程在前端完成,以便于前端能够及时地对待存储数据进行加密。具体加密密钥的生成过程详见后文,在此不做赘述。为了能够更好地保证待存储数据在传输过程中的安全性,在本申请提供的实施例中,还需要通过md5对第一密钥加密,即针对第一密钥中的内容进行加密,通过再一次的加密也再一次增加了第一密钥的破解难度,进一步地保证可待存储数据在传输过程中的安全性。由于AES是对称密钥,安全性高、加密过程的性能快,且密码只有一个,该方法也保证了待存储数据传输的快捷性,一个密码方便后端对该AES加密的密码进行验证。由于前端仅是对待存储数据加密,后端用于存储数据,进而在保证数据传输过程中的安全性时,也能够保证数据存储的安全性。
此外,在又一种实施例中,本发明还提供一种服务器,如图3所示,所述服务器处理器503、存储器505、输入单元507以及显示单元509等器件。本领域技术人员可以理解,图3示出的结构器件并不构成对所有服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器505可用于存储应用程序501以及各功能模块,处理器503运行存储在存储器505的应用程序501,从而执行设备的各种功能应用以及数据处理。存储器505可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器505只作为例子而非作为限定。
输入单元507用于接收信号的输入,以及用户输入的个人信息和相关的身体状况信息。输入单元507可包括触控面板以及其它输入设备。触控面板可收集客户在其上或附近的触摸操作(比如客户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元509可用于显示客户输入的信息或提供给客户的信息以及计算机设备的各种菜单。显示单元509可采用液晶显示器、有机发光二极管等形式。处理器503是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器503内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。图3中所示的一个或多个处理器503能够执行、实现图2中所示的第一获取模块100的功能、第一密钥确定模块200的功能、加密模块300的功能、字符获取单元210的功能、转换单元220的功能、第一密钥确定单元230的功能、提取单元231的功能、密钥字符串获得单元232的功能、获取单元310的功能、密文数据包获得单元320的功能、第二获取模块410的功能、数据传输包生成模块420的功能、提取模块430的功能、判断模块440的功能、拒绝模块450的功能。
在一种实施方式中,所述服务器包括一个或多个处理器503,以及一个或多个存储器505,一个或多个应用程序501,其中所述一个或多个应用程序501被存储在存储器505中并被配置为由所述一个或多个处理器503执行,所述一个或多个应用程序301配置用于执行以上实施例所述的数据传输加密方法。
本发明实施例提供的一种服务器,可实现上述数据传输加密方法的实施例,在本申请中通过前端将数据传输到后端,前端在接收一次数据存储请求时,则对该次需要传输的数据进行加密传输,即将传输的数据加密并传输到后端中,后端接收到需要存储的数据时,验证该数据传输的密码,在密码正确时,则将该数据存储在后端中,若密码不正确,则后端拒绝该次数据存储请求。通过该方法实现了包括前端和后端系统的数据传输和存储的分离,在本申请提供的实施例中,同一客户端提出了多次数据存储请求时,前端则对每一次数据存储请求中传输的数据进行加密,且每次密码通过AES动态生成,进而提高了数据传输的安全性。通过AES对传输的数据进行加密,便于调整密码算法,增加了密码破解难度,进一步地提高了数据在传输过程中的安全性;本申请实施例提供的一种数据传输加密方法,包括:获取当前数据存储请求,依据所述当前数据存储请求生成第一令牌和第一随机位;提取所述当前数据存储请求中包含的待存储数据,基于所述第一令牌和第一随机位对所述待存储数据进行AES加密,获得第一密钥;对所述第一密钥进行md5加密,获得密文数据包。前端接收到当前次的数据存储请求之后,从当前次数据存储请求中提取出待存储数据,以便于前端能够获得待存储数据,为了保证前端将待存储数据传输到后端的安全性,获得待存储数据之后,前端则立刻生成第一令牌(Token)和第一随机位,其中Token是32位的UUID(通用识别码),让系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。随机位可以为一个小于32位的随机数。在本申请提供的实施例中,为了保证前后端数据传输过程的安全性,在前端对待存储数据进行加密之后,后端能够及时地对待传输数据进行验证,保证前后端密钥的一致性,第一令牌和第一随机位是由后端生成并提供给前端的,在保证数据传输安全性时,同时保证密钥的可验证性。由于仅是在获取到当前数据存储请求之后,并进行后续的步骤,进而实现了每一次获取新的密钥时,都会生成一个新的token和随机位,进而保证AES每一次加密密钥都不一样,提高密钥的安全性和破解难度。在前述的基础上,为了保证待存储数据从前端传输到后端过程中的安全性,则需要对待存储数据进行加密,加密密钥是基于第一令牌和第一随机位生成的,加密密钥的生成过程在前端完成,以便于前端能够及时地对待存储数据进行加密。具体加密密钥的生成过程详见后文,在此不做赘述。为了能够更好地保证待存储数据在传输过程中的安全性,在本申请提供的实施例中,还需要通过md5对第一密钥加密,即针对第一密钥中的内容进行加密,通过再一次的加密也再一次增加了第一密钥的破解难度,进一步地保证可待存储数据在传输过程中的安全性。由于AES是对称密钥,安全性高、加密过程的性能快,且密码只有一个,该方法也保证了待存储数据传输的快捷性,一个密码方便后端对该AES加密的密码进行验证。由于前端仅是对待存储数据加密,后端用于存储数据,进而在保证数据传输过程中的安全性时,也能够保证数据存储的安全性。
本发明实施例提供的服务器可以实现上述提供的数据传输加密方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种数据传输加密方法,其特征在于,包括:
获取当前数据存储请求,以及依据所述当前数据存储请求生成的第一令牌和第一随机位;
通过所述第一随机位从第一令牌中获取所述第一随机位对应数量的字符;将所述字符转换成Ascii码值,对所述Ascii码值进行处理获得密钥转换数组;依据所述密钥转换数组确定第一密钥,包括:提取第一令牌中字符串下标与所述密钥转换数组中的各元素相对应的字符;依据所述字符获得密钥字符串,获取获得所述密钥字符串的当前时间戳;通过md5对所述密钥字符串和所述当前时间戳加密,获得所述第一密钥;
基于所述第一密钥对待存储数据进行AES加密。
2.根据权利要求1所述的数据传输加密方法,其特征在于,所述方法还包括:
获取所述第一令牌和所述当前时间戳;
对依据所述第一令牌、所述当前时间戳和所述第一密钥进行md5加密,获得密文数据包。
3.根据权利要求2所述的数据传输加密方法,其特征在于,所述对依据所述第一令牌、所述当前时间戳和所述第一密钥进行md5加密,获得所述密文数据包之后,包括:
获取所述第一令牌和所述当前时间戳;
基于所述第一令牌、所述当前时间戳、所述密文数据包和加密后的所述待存储数据生成数据传输包。
4.根据权利要求3所述的数据传输加密方法,其特征在于,所述基于所述第一令牌、所述当前时间戳、所述密文数据包和加密后的所述待存储数据生成数据传输包之后,包括:
将所述数据传输包传输到数据存储服务器,提取所述数据传输包中的第一令牌和所述当前时间戳;
判断所述第一令牌和所述当前时间戳是否在预设有效时间内;
当所述第一令牌和所述当前时间戳中任一个不在所述预设有效时间内时,拒绝所述当前数据存储请求。
5.一种数据传输加密装置,其特征在于,包括:
获取模块,用于获取当前数据存储请求,以及依据所述当前数据存储请求生成的第一令牌和第一随机位;
第一密钥确定模块,用于通过所述第一随机位从第一令牌中获取所述第一随机位对应数量的字符;将所述字符转换成Ascii码值,对所述Ascii码值进行处理获得密钥转换数组;依据所述密钥转换数组确定第一密钥,包括:提取第一令牌中字符串下标与所述密钥转换数组中的各元素相对应的字符;依据所述字符获得密钥字符串,获取获得所述密钥字符串的当前时间戳;通过md5对所述密钥字符串和所述当前时间戳加密,获得所述第一密钥;
加密模块,用于基于所述第一密钥对待存储数据进行AES加密。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1至4任一项所述的数据传输加密方法。
7.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据权利要求1至4任一项所述的数据传输加密方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910113188.3A CN109921894B (zh) | 2019-02-13 | 2019-02-13 | 数据传输加密方法、装置及存储介质、服务器 |
PCT/CN2019/118388 WO2020164280A1 (zh) | 2019-02-13 | 2019-11-14 | 数据传输加密方法、装置及存储介质、服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910113188.3A CN109921894B (zh) | 2019-02-13 | 2019-02-13 | 数据传输加密方法、装置及存储介质、服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109921894A CN109921894A (zh) | 2019-06-21 |
CN109921894B true CN109921894B (zh) | 2022-08-12 |
Family
ID=66961580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910113188.3A Active CN109921894B (zh) | 2019-02-13 | 2019-02-13 | 数据传输加密方法、装置及存储介质、服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109921894B (zh) |
WO (1) | WO2020164280A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109688160B (zh) * | 2019-01-28 | 2021-09-28 | 平安科技(深圳)有限公司 | 数据加密传输控制方法、装置、计算机设备及存储介质 |
CN109921894B (zh) * | 2019-02-13 | 2022-08-12 | 平安科技(深圳)有限公司 | 数据传输加密方法、装置及存储介质、服务器 |
CN111211891B (zh) * | 2020-01-13 | 2023-04-28 | 广东跑合中药材电子商务有限公司 | 一种多维度aes对称加解密方法 |
CN111586066B (zh) * | 2020-05-12 | 2022-08-12 | 上海依图网络科技有限公司 | 一种多媒体数据加密处理的方法及装置 |
CN111818078B (zh) * | 2020-07-21 | 2022-06-24 | 成都英孚克斯科技有限公司 | 一种基于环境因子的称重数据安全传输方法及系统 |
CN113761550A (zh) * | 2020-11-05 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种加密的方法和装置 |
CN112580076A (zh) * | 2020-12-21 | 2021-03-30 | 天元大数据信用管理有限公司 | 一种应用在金融交易类前端项目中的安全保密方法 |
CN113703995B (zh) * | 2021-08-13 | 2024-04-16 | 深圳市中博科创信息技术有限公司 | 前后端数据交互方法、装置、电子设备及存储介质 |
CN116702218B (zh) * | 2023-08-07 | 2023-12-05 | 腾讯科技(深圳)有限公司 | 小程序中三维模型的渲染方法、装置、终端及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108429736A (zh) * | 2018-02-11 | 2018-08-21 | 众算(上海)数据科技有限公司 | 一种数据解密方法 |
CN108494740A (zh) * | 2018-03-01 | 2018-09-04 | 捷开通讯(深圳)有限公司 | 令牌生成和校验方法、智能终端及服务器 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050005108A1 (en) * | 2003-05-13 | 2005-01-06 | Bsi2000, Inc. | Cryptographically secure transactions with optical cards |
US20050182934A1 (en) * | 2004-01-28 | 2005-08-18 | Laszlo Elteto | Method and apparatus for providing secure communications between a computer and a smart card chip |
CN101340279B (zh) * | 2008-07-09 | 2011-02-02 | 深圳市金蝶友商电子商务服务有限公司 | 数据加密及解密方法、系统及设备 |
DE102015201298A1 (de) * | 2015-01-26 | 2016-07-28 | Robert Bosch Gmbh | Verfahren zum kryptographischen Bearbeiten von Daten |
CN104683111A (zh) * | 2015-03-18 | 2015-06-03 | 中国联合网络通信集团有限公司 | 一种基于md5的加密方法及系统 |
CN106534176B (zh) * | 2016-12-08 | 2019-06-14 | 西安交大捷普网络科技有限公司 | 一种云环境下数据安全存储方法 |
US10061932B1 (en) * | 2018-01-04 | 2018-08-28 | WindTalker, LLC | Securing portable data elements between containers in insecure shared memory space |
CN108600268B (zh) * | 2018-05-09 | 2020-09-22 | 聚龙股份有限公司 | 一种应用于非授信认证的加密解密方法及非授信认证系统 |
CN109921894B (zh) * | 2019-02-13 | 2022-08-12 | 平安科技(深圳)有限公司 | 数据传输加密方法、装置及存储介质、服务器 |
-
2019
- 2019-02-13 CN CN201910113188.3A patent/CN109921894B/zh active Active
- 2019-11-14 WO PCT/CN2019/118388 patent/WO2020164280A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108429736A (zh) * | 2018-02-11 | 2018-08-21 | 众算(上海)数据科技有限公司 | 一种数据解密方法 |
CN108494740A (zh) * | 2018-03-01 | 2018-09-04 | 捷开通讯(深圳)有限公司 | 令牌生成和校验方法、智能终端及服务器 |
Also Published As
Publication number | Publication date |
---|---|
WO2020164280A1 (zh) | 2020-08-20 |
CN109921894A (zh) | 2019-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109921894B (zh) | 数据传输加密方法、装置及存储介质、服务器 | |
US11855983B1 (en) | Biometric electronic signature authenticated key exchange token | |
CN110324143B (zh) | 数据传输方法、电子设备及存储介质 | |
CN110493202B (zh) | 登录令牌的生成及验证方法、装置和服务器 | |
CN108092776B (zh) | 一种基于身份认证服务器和身份认证令牌的系统 | |
EP3319292B1 (en) | Methods, client and server for checking security based on biometric features | |
US20150178515A1 (en) | Device-based pin authentication process to protect encrypted data | |
CN101072100B (zh) | 一种利用可信赖平台模块的认证系统和认证方法 | |
EP3114793A1 (en) | Methods and apparatus for migrating keys | |
US9325499B1 (en) | Message encryption and decryption utilizing low-entropy keys | |
CN107733933B (zh) | 一种基于生物识别技术的双因子身份认证的方法及系统 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
US8953786B2 (en) | User input based data encryption | |
CN111526007B (zh) | 一种随机数生成方法及系统 | |
Giri et al. | A novel and efficient session spanning biometric and password based three-factor authentication protocol for consumer USB mass storage devices | |
EP4091290A1 (en) | Digital signature system using scalable servers | |
US11405387B1 (en) | Biometric electronic signature authenticated key exchange token | |
CN115276978A (zh) | 一种数据处理方法以及相关装置 | |
KR101792220B1 (ko) | 생체 인증 결합 사용자 간편 인증 방법, 이를 위한 인증 어플리케이션이 탑재된 사용자 모바일 단말기, 인증 서비스 장치 및 컴퓨터 프로그램 | |
CN112272090B (zh) | 一种密钥产生方法和装置 | |
CN112987942A (zh) | 键盘输入信息的方法、装置、系统、电子设备和存储介质 | |
CN115277078A (zh) | 用于处理基因数据的方法、装置、设备和介质 | |
Karthiga et al. | Enhancing performance of user authentication protocol with resist to password reuse attacks | |
CN114697113A (zh) | 一种基于硬件加速卡的多方隐私计算方法、装置及系统 | |
CN112231662A (zh) | 一种基于sm2算法的二维码的注册认证方法及系统 |
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 |