CN110417543A - 一种数据加密方法、装置和存储介质 - Google Patents

一种数据加密方法、装置和存储介质 Download PDF

Info

Publication number
CN110417543A
CN110417543A CN201810391003.0A CN201810391003A CN110417543A CN 110417543 A CN110417543 A CN 110417543A CN 201810391003 A CN201810391003 A CN 201810391003A CN 110417543 A CN110417543 A CN 110417543A
Authority
CN
China
Prior art keywords
data
random number
key
encryption
splicing
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
CN201810391003.0A
Other languages
English (en)
Other versions
CN110417543B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810391003.0A priority Critical patent/CN110417543B/zh
Publication of CN110417543A publication Critical patent/CN110417543A/zh
Application granted granted Critical
Publication of CN110417543B publication Critical patent/CN110417543B/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
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

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是本发明实施例提供的数据加密方法的一种流程示意图;
图3a是本发明实施例提供的数据加密方法的一种流程示意图;
图3b是本发明实施例中购物小程序的主界面示例图;
图3c是本发明实施例中购物小程序由主界面跳转至排行榜界面的操作示意图;
图3d是本发明实施例中购物小程序由排行榜界面跳转至浏览界面的操作示意图;
图3e是本发明实施例中密钥因子和浏览记录的关系示意图;
图3f是本发明实施例中对购物小程序的浏览记录进行加解密的流程示意图;
图4a是本发明实施例提供的数据加密装置的一种结构示意图;
图4b是本发明实施例提供的数据加密装置的一种结构示意图;
图5是本发明实施例提供的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明实施例提供一种数据加密系统,该数据加密系统包括本发明实施例提供的任一数据加密装置,该数据加密装置可以集成在具备存储器并安装有处理器而具有运算能力的终端中。
请参照图1,本发明实施例提供的数据加密系统,包括:终端和服务器,终端与服务器通过网络连接。其中,网络中包括路由器、网关等等网络实体,图1中并未一一示意出。终端可以通过网络与服务器进行信息交互,比如,终端可以接收加密请求,该加密请求用于指示需要加密的数据,根据接收到的加密请求,从服务器获取到用于加密的第一随机数,并从本地获取用于加密的第二随机数;根据获取到的第一随机数以及第二随机数,生成第一密钥;根据该第一密钥,对数据进行加密处理,得到加密数据,等等。
需要说明的是,上述图1示出的仅是实现本发明实施例的一个系统架构实例,本发明实施例并不限于上述图1所示的系统架构,基于该系统架构,提出本发明各个实施例。
在本实施例中,将从数据加密装置的角度进行描述,该数据加密装置具体可以集成在平板电脑、手机等具备存储器并安装有处理器而具有运算能力的终端中。
一种数据加密方法,包括:接收加密请求,该加密请求用于指示需要加密的数据;根据加密请求从服务器获取用于加密的第一随机数;从本地获取用于加密的第二随机数;根据第一随机数以及第二随机数,生成第一密钥;根据第一密钥,对数据进行加密处理,得到加密数据。
请参照图2,图2是本发明实施例提供的数据加密方法的流程示意图,如图2所示,该数据加密方法包括:
在步骤101中,接收加密请求,该加密请求用于指示需要加密的数据。
其中,加密请求可由终端运行的应用程序产生,该应用程序可以是需要安装才能使用的传统应用程序,也可以是不需要下载安装即可使用的小程序。
其中,应用程序可以在新产生数据时,根据其预先配置的加密规则,识别新产生的数据是否需要加密,若需要,则产生加密请求,该加密请求用于指示对该新产生的数据进行加密。此外,应用程序也可以根据其预先配置的加密规则,识别出需要加密的数据,并产生加密请求,该加密请求用于指示对识别出的数据进行加密。
比如,对于某即时通讯应用,其配置的加密规则为:“加密聊天记录”,则该即时通讯应用在有新的聊天记录产生时,生成加密请求,该加密请求用于指示对该聊天记录进行加密。
在步骤102中,根据加密请求从服务器获取用于加密的第一随机数。
在接收到加密请求时,根据该加密请求从服务器获取用于加密的第一随机数。其中,第一随机数由服务器生成,该服务器可以为生成加密请求的应用程序所对应的服务器。
需要说明的是,对于第一随机数的具体生成方式,本发明实施例不做具体限制,可由本领域技术人员根据实际需要选取合适的随机数生成方式。
此外,在获取第一随机数时,一方面,数据加密装置可以按照约定的报文格式,生成随机数获取请求,该随机数获取请求用于指示服务器返回用于加密的第一随机数,并将该随机数获取请求发送至服务器,等待服务器返回第一随机数;另一方面,服务器在接收到随机数获取请求之后,获取到预先生成的第一随机数,返回至数据加密装置。
需要说明的是,服务器在生成第一随机数之后,可以明文的形式存储第一随机数,也可以密文的形式存储第一随机数。相应的,在以明文的形式存储第一随机数时,可以直接将获取到的第一随机数返回至数据加密装置;在以密文的形式存储第一随机数时,可以对获取到的第一随机数进行解密,并将解密后的第一随机数返回至数据加密装置。
在步骤103中,从本地获取用于加密的第二随机数;
本发明实施例中,第二随机数由终端自身生成,在获取第二随机数时,可直接从终端本地获取。其中,对于第二随机数的具体生成方式,本发明实施例不做具体限制,可由本领域技术人员根据实际需要选取合适的随机数生成方式。
需要说明的是,步骤103可在步骤102之后执行,也可在步骤102之前执行,还可与步骤102同时执行。
在步骤104中,根据第一随机数以及第二随机数,生成第一密钥。
本发明实施例中,在获取第一随机数以及第二随机数之后,即可根据第一随机数以及第二随机生成第一密钥。
其中,在根据第一随机数以及第二随机数生成第一密钥时,可以直接对第一随机数和第二随机数进行拼接,将得到的拼接数据作为第一密钥,比如,获取到的第一随机数为“0101”,获取到的第二随机数为“1011”,则拼接第一随机数和第二随机数得到“01011011”或者“10110101”,将“01011011”或者“10110101”作为第一密钥。
还可以对第一随机数和第二随机数进行异或处理,将得到的异或结果作为第一密钥,比如,获取到的第一随机数为“0101”,获取到的第二随机数为“1011”,则对第一随机数和第二随机数进行异或处理,得到异或结果为“1110”,相应的,将“1110”作为第一密钥。
还可以将第一随机数拼接至第二随机数,将第二随机数拼接至第一随机数,对两个拼接操作的得到拼接数据进行异或处理,将得到异或结果作为第一密钥,比如,获取到的第一随机数为“0101”,获取到的第二随机数为“1011”,将第一随机数拼接至第二随机数得到“10110101”,将第二随机数拼接至第一随机数得到“01011011”,对“10110101”和“01011011”进行异或处理,得到异或结果为“11101110”,相应的,将“11101110”作为第一密钥。
为增加加密数据的破解难度,根据第一随机数以及第二随机数,生成第一密钥,包括:
对第一随机数和第二随机数进行异或处理,得到异或结果;
获取用户标识数据,以及获取终端的终端标识数据;
根据异或结果、用户标识数据以及终端标识数据,生成第一密钥。
其中,在生成第一密钥时,首先对获取到第一随机数和第二随机数进行异或处理,得到异或结果;然后获取用户标识数据(比如,应用程序登录的用户名),以及获取终端的终端标识数据(终端标识数据用于唯一描述终端);最后,根据异或结果、用户标识数据以及终端标识数据,生成第一密钥,由此,使得生成的第一密钥携带应用、网络以及设备三个不同维度的信息,采用其对需要加密的数据进行加密,能够有效增加数据被破解的难度,使得数据的安全性得到有效提高。
具体的,在一个可选的实施方式中,根据异或结果、用户标识数据以及终端标识数据,生成第一密钥,包括:
对异或结果和终端标识数据进行拼接处理,得到第一拼接数据;
对第一拼接数据进行哈希运算,得到第一哈希数据;
对第一哈希数据和用户标识数据进行拼接处理,得到第二拼接数据;
对第二拼接数据进行哈希运算,将得到第二哈希数据作为第一密钥。
其中,两次哈希运算所采用的哈希算法可以相同,可以不同。比如,在对前述异或结果和终端标识数据拼接得到的第一拼接数据进行哈希运算时,可以采用SHA-256算法对第一拼接数据进行哈希运算,得到长度为256比特的第一哈希数据;之后,对第一拼接数据和用户标识数据进行拼接处理,得到第二拼接数据;在对第二拼接数据进行哈希运算时,可以采用SHA-512算法对第二拼接数据进行哈希运算,得到长度为512比特的第二哈希数据,此时即可将该长度为512比特的第二哈希数据作为第一密钥,用于对需要加密的数据进行加密处理。
此外,本领域技术人员还可以根据实际需要,采用本发明实施例为列举出的其它方式,来根据第一随机数以及第二随机数生成第一密钥。
在步骤105中,根据第一密钥,对数据进行加密处理,得到加密数据。
本发明实施例中,在根据第一随机数以及第二随机数生成第一密钥之后,即可根据生成的第一密钥,对需要加密的数据进行加密处理。其中,对于具体采用何种加解密算法,可由本领域技术人员根据实际需要进行选取,本发明实施例不做具体限制。
比如,可以根据生成的第一密钥,采用AES(Advanced Encryption Standard,高级加密标准)加解密算法对需要加密的数据进行加密处理,相应的,在采用AES加解密算法时,生成的第一密钥的长度可以为128比特、192比特或256比特中的一种。
进一步的,在一实施例中,根据第一密钥,对数据进行加密处理,得到加密数据之后,还包括:
将加密处理得到的加密数据存储至本地的第一预设存储区域中。
其中,第一预设储存区域可以为生成加密请求的应用程序所对应的存储区域。
比如,某即时通讯应用生成加密请求,用于指示对其新产生的聊天记录(即需要加密的数据)进行加密;之后,生成第一密钥并对该聊天记录进行加密处理,得到加密后的聊天记录(即加密得到的加密数据),将加密后的聊天记录存储至该即时通讯应用的安装目录(即第一预设储存区域)中。
具体的,将加密处理得到的加密数据存储至第一预设存储区域中,包括:
根据所述第一随机数,对所述加密数据进行签名操作,得到第一签名数据;
对所述第一签名数据和所述加密数据进行拼接处理,得到第三拼接数据;
将所述第三拼接数据存储至所述第一预设存储区域中。
数据加密装置在对需要加密的数据进行加密,并得到加密数据之后,还对加密数据进行签名操作。
其中,在对加密数据进行签名操作时,数据加密装置可以根据第一随机数,对得到的加密数据进行哈希运算,并将得到的哈希数据作为对应加密数据的第二签名数据。其中,对于采用何种哈希算法,本发明实施例不做具体限制,可以由本领域技术人员根据实际需要进行选取,比如,可以采用SHA-256算法。
作为一个可选的实施方式,在对加密数据进行签名操作时,数据加密装置可以获取终端的终端标识数据;对加密数据、终端标识数据以及第一随机数进行拼接,得到拼接数据;对此时得到拼接数据进行哈希运算,得到对应该拼接数据的哈希数据,将得到的该哈希数据作为对应加密数据的第一签名数据。
作为另一个可选的实施方式,数据加密装置可以获取终端的终端标识数据,以及获取预设盐值;对加密数据、终端标识数据、预设盐值以及第一随机数进行拼接,得到拼接数据;对此时得到拼接数据进行哈希运算,得到对应该拼接数据的哈希数据,将得到的该哈希数据作为对应加密数据的第一签名数据。其中,两次哈希运算所采用的哈希算法可以相同,也可以不同,具体由本领域技术人员根据实际需要进行选取。
在完成签名操作得到对应加密数据的第一签名数据之后,数据加密装置对第一签名数据和加密数据进行拼接(比如,将第一签名数据拼接至加密数据的尾部),得到第三拼接数据。之后,将拼接得到的第三拼接数据存储至第一预设存储区域中。
将第三拼接数据存储至第一预设存储区域中之后,还包括:
接收解密请求,该解密请求用于指示对加密数据进行解密;
从第一预设存储区域中获取第三拼接数据,并将第三拼接数据拆分为第一签名数据和加密数据;
对第一签名数据进行验证,并在第一签名数据验证通过时,生成第一密钥;
根据生成的第一密钥,对加密数据进行解密处理,得到数据。
其中,该解密请求同样由前述应用程序生成,比如,对于某即时通讯应用,数据加密装置根据该即时通讯应用生成的加密请求,对其产生的聊天记录进行加密,得到对应该聊天记录的加密数据;之后,该即时通讯应用在需要显示聊天记录时,可以产生用于指示对加密数据进行解密的解密请求,以由数据加密装置从加密数据中解密出聊天记录,供该即时通讯应用显示。
在接收到解密请求之后,数据加密装置根据该解密请求,从第一预设存储区域中获取第三拼接数据(包括第一签名数据和加密数据),并将第三拼接数据拆分为第一签名数据和加密数据。
在将第三拼接数据拆分为第一签名数据和加密数据之后,对第一签名数据进行验证,并在第一签名数据验证通过时,生成第一密钥。其中,在对第一签名数据进行验证时,可以根据解密请求从服务器获取第一随机数,并采用以上描述的、对加密数据进行签名操作的方案,根据新获取到的第一随机数,生成新的签名数据,并将该新的签名数据与第一签名数据进行比对,若二者比对一致,则验证通过,否则验证失败。
在验证通过时,生成第一密钥,并根据生成的第一密钥,对加密数据进行解密处理,得到数据。之后,可以将解密得到的数据交由前述应用程序(即生成解密请求的应用程序),由其进行相应处理。
进一步的,在接收加密请求之前,还包括:
生成用于加密的第二随机数,并将生成的第二随机数存储至本地的第二预设储存区域中,其中,第二预设储存区域的安全等级高于第一预设储存区域的安全等级。
比如,在终端的操作系统为安卓系统时,可以将安卓系统的轻量级存储类SharedPreference作为第二预设储存区域;又比如,在终端的操作系统为IOS系统时,可以将IOS系统的Keychain作为第二预设存储区域。
其中,通过将加密数据和第二随机数存储于不同安全等级的储存区域中,使得黑客必须提权才能访问,能够提高数据破解难度。
可具体的,将生成的第二随机数存储至第二预设存储区域中,包括:
获取第一随机数,并根据第一随机数生成第二密钥;
根据生成的第二密钥,对第二随机数进行加密处理,得到加密随机数;
将加密随机数存储至第二预设存储区域中。
其中,在获取第一随机数时,数据加密装置可以按照约定的报文格式,生成随机数获取请求,该随机数获取请求用于指示服务器返回用于加密的第一随机数,并将该随机数获取请求发送至服务器,等待服务器返回第一随机数;另一方面,服务器在接收到随机数获取请求之后,获取到预先生成的第一随机数,返回至数据加密装置。
在从服务器获取到第一随机数之后,根据第一随机数生成第二密钥。其中,在根据第一随机数生成第二密钥时,可以直接将第一随机数作为第二密钥;还可以对第一随机数进行哈希运算,将得到哈希数据作为第二密钥。其中,对于采用何种哈希算法,本发明实施例不做具体限制,可以由本领域技术人员根据实际需要进行选取,比如,可以采用SHA-256算法对第一随机数进行哈希运算。
此外,在生成第二密钥时,还可以获取终端的终端标识数据(终端标识数据用于唯一描述终端)以及用户标识数据(比如,应用程序登录的用户名);之后,对第一随机数和终端标识数据进行拼接处理,并对拼接得到的拼接数据进行哈希运算,得到对应该拼接数据的哈希数据;最后,将之前得到的哈希数据与用户标识数据进行拼接,并对此时得到的拼接数据再次进行哈希运算,将最终得到的哈希数据作为第二密钥。其中,两次哈希运算所采用的哈希算法可以相同,也可以不同,具体由本领域技术人员根据实际需要进行选取。
在生成第二密钥之后,即根据生成的第二密钥,对第二随机数进行加密处理。其中,对于具体采用何种加解密算法,可由本领域技术人员根据实际需要进行选取,本发明实施例不做具体限制。
比如,可以根据生成的第二密钥,采用AES加解密算法对生成的第二随机数进行加密处理,得到加密随机数。相应的,在采用AES加解密算法时,生成的第二密钥的长度可以为128比特、192比特或256比特中的一种。
在采用第二密钥完成对第二随机数的加密,得到加密随机数之后,即可将得到的加密随机数存储至第二预设储存区域中,由于第二密钥携带了应用、网络以及设备三个不同维度的信息,增加了加密随机数的破解难度,能够实现第二随机数在本地的安全存储。
可具体的,从本地获取用于加密的第二随机数,包括:
从第二预设存储区域中获取加密随机数;
获取第一随机数,并根据第一随机数生成第二密钥;
根据生成的第二密钥,对获取到的加密随机数进行解密处理,得到第二随机数。
基于以上描述,本领域技术人员可以理解的是,由于第二随机数在本地是以密文的形式存储,也即是以加密随机数的形式存储,在获取第二随机数时,需要对加密随机数进行解密,才能得到第二随机数。
其中,数据加密装置首先从第二预设存储区域中获取到存储的加密随机数,并生成第二密钥,对于第二密钥的生成方式,请参照以上相关描述,此处不再赘述。
在获取到加密随机数,并生成第二密钥之后,即可根据生成的第二密钥,对获取到的加密随机数进行解密处理,由此得到用于加密的第二随机数。
进一步的,在一实施例中,根据生成的第二密钥,对第二随机数进行加密处理,得到加密随机数之后,还包括:
根据第一随机数,对得到的加密随机数进行签名操作,得到第二签名数据;
而生成第二密钥,包括:
对第二签名数据进行验证,并在第二签名数据验证通过时,生成第二密钥。
本发明实施例中,在对第二随机数进行加密处理,并得到加密随机数之后,还对加密处理得到加密随机数进行签名操作,相应的,在生成第二密钥之前进行验签操作,并在验签成功时,生成第二密钥,以对加密随机数进行解密处理。
其中,在对加密随机数进行签名操作时,数据加密装置可以根据第一随机数,对得到的加密随机数进行哈希运算,并将得到的哈希数据作为对应加密随机数的第二签名数据。
具体的,作为一个可选的实施方式,在对加密随机数进行签名操作时,数据加密装置可以获取终端的终端标识数据;对加密随机数、终端标识数据以及第一随机数进行拼接,得到拼接数据;对此时得到拼接数据进行哈希运算,得到对应该拼接数据的哈希数据,将得到的该哈希数据作为对应加密随机数的第二签名数据。
作为另一个可选的实施方式,数据加密装置可以获取终端的终端标识数据,以及获取预设盐值;对加密随机数、终端标识数据、预设盐值以及第一随机数进行拼接,得到拼接数据;对此时得到拼接数据进行哈希运算,得到对应该拼接数据的哈希数据,将得到的该哈希数据作为对应加密随机数的第二签名数据。
在验签时,采用以上描述的、对加密随机数进行签名操作方案,根据从服务器新获取到的第一随机数(即在接收到加密请求时,根据加密请求所获取到的第一随机数),生成新的签名数据,并将该新的签名数据与第二签名数据进行比对,若二者比对一致,则验证通过,否则验证失败。
本发明实施例中,在验签通过(也即是对第二签名数据进行验证,并验证通过)时,生成第二密钥;之后,即可根据生成的第二密钥对加密随机数进行解密,得到第二随机数。
此外,在本发明实施例中,在对第二签名数据进行验证之后,还包括:
在验证失败时,输出预设的错误信息。
其中,根据第一随机数对加密随机数进行签名,能够提高签名数据的复杂度,同时,如果获取到的第一随机数不对,在验签时就能发现。
由上可知,本发明实施例通过接收加密请求,该加密请求用于指示需要加密的数据;根据加密请求从服务器获取用于加密的第一随机数;从本地获取用于加密的第二随机数;根据第一随机数以及第二随机数,生成第一密钥;根据第一密钥,对数据进行加密处理,得到加密数据。该方案中,通过分散存储密钥因子,其中包括网络密钥因子(第一随机数)和本地密钥因子(第二随机数),并在需要时,根据分散存储的密钥因子生成密钥,根据该密钥对数据进行加密,可以达到提升数据安全性的目的。
在一实施例中,以对某购物小程序浏览记录的加解密为例,来详细介绍本发明提供的数据加密方法。
根据上述实施例所描述的方法,以下将举例作进一步详细说明。
本实施例以小程序为例,如XX购物小程序,首先进入购物小程序;然后基于购物小程序,根据用户操作进行商品浏览,得到浏览记录;再对得到浏览记录进行加密处理,得到加密浏览记录;最后对加密浏览记录进行解密处理,基于购物小程序显示解密得到的浏览记录。
具体的,请参照图3a,该数据加密方法的具体流程如下:
在步骤201中,进入购物小程序;
其中,该购物小程序基于即时通讯应用“微信”运行,相应的,终端安装有微信,当用户点击购物小程序的应用入口时,终端基于微信运行购物小程序,以进入该购物小程序。
请参照图3b,为进入购物小程序后所展示的主界面,该主界面提供有“搜索视频”、“超市”、“服饰”、“生鲜”、“秒杀”、“有好货”、“排行榜”以及“必买清单”等操作接口供用户操作,实现商品浏览。
在步骤202中,基于购物小程序,根据用户操作进行商品浏览,得到浏览记录;
其中,基于购物小程序所提供的操作接口,接收用户操作,根据接收到用户操作进行商品浏览,得到浏览记录。
比如,请参照图3c和图3d,当接收到对操作接口“排行榜”的用户点击操作时,购物小程序由主界面跳转至排行榜界面,如图3c所示,排行榜界面展示了一定排序规则进行排列后的商品入口,包括“商品1”、“商品2”、“商品3”以及“商品4”;当接收到对商品入口“商品4”的用户点击操作时,购物小程序由排行榜界面跳转至“商品4”的浏览界面,如图3d所示,该浏览界面展示了商品4的相关信息,如图片信息和文字信息等,此外,该浏览界面提供有“加入购物车”和“立即购买”的操作接口。
其中,在进入到商品4的浏览界面之后,购物小程序将产生对应商品4的浏览记录。同时,购物小程序生成加密请求,指示对浏览记录进行加密。
在步骤203中,对得到的浏览记录进行分散加密处理,得到加密浏览记录;
以下将描述如何对得到的浏览记录进行分散加密处理,请结合参照图3e以及图3f。
具体的,对得到的浏览记录进行分散加密处理包括:
接收购物小程序生成的加密请求;
根据接收到的加密请求获取分散存储的多个密钥因子;
根据获取到的多个密钥因子生成第一密钥;
根据第一密钥,采用AES加密算法对浏览记录进行加密,得到加密浏览记录。
其中,根据接收到的加密请求获取分散存储的多个密钥因子包括:
从购物小程序对应的服务器获取第一随机数;
从本地获取第二随机数;
获取购物小程序对应的用户标识数据;
获取终端的终端标识数据。
本发明实施例中,获取的密钥因子包括第一随机数、第二随机数、用户标识数据、以及终端标识数据。
其中,在获取第一随机数时,一方面,数据加密装置可以按照约定的报文格式,生成随机数获取请求,该随机数获取请求用于指示服务器(购物小程序对应的服务器)返回用于加密的第一随机数,并将该随机数获取请求发送至服务器,等待服务器返回第一随机数;另一方面,服务器在接收到随机数获取请求之后,获取到预先生成的第一随机数,返回至数据加密装置。
第二随机数由数据加密装置预先生成,并存储在终端本地,在获取第二随机数时,可直接从终端本地获取。
用户标识数据由两部分构成,分别为微信用户的“openid”和购物小程序的“appid”,将openid和appid拼接得到用户标识数据。
终端标识数据由微信根据终端信息预先生成,用于唯一描述终端。
进一步的,第二随机数在终端本地以加密随机数的形式存储,其中,步骤201之前,还包括:
生成第二随机数;
从购物小程序对应的服务器获取第一随机数,并根据第一随机数生成第二密钥;
根据第二密钥,采用AES加密算法对第二随机数进行加密,得到加密随机数,将加密随机数存储至终端本地;
而从本地获取第二随机数包括:
根据第一随机数生成第二密钥;
根据第二密钥,采用AES加密算法对加密随机数进行解密,得到第二随机数。
首先,数据加密装置采用预定的随机数生成算法生成第二随机数。
之后,根据以上描述的获取第一随机数的方式,从购物小程序对应的服务器获取第一随机数,并根据第一随机数生成第二密钥。在根据第一随机数生成第二密钥时,具体对第一随机数和终端标识数据进行拼接处理,并对拼接得到的拼接数据进行哈希运算,得到对应该拼接数据的哈希数据;最后,将之前得到的哈希数据与用户标识数据进行拼接,并对此时得到的拼接数据再次进行哈希运算,将最终得到的哈希数据作为第二密钥。
由于第二随机数在本地是以密文的形式存储,也即是以加密随机数的形式存储,在获取第二随机数时,需要对加密随机数进行解密,才能得到第二随机数。因此,数据加密装置首先从第二预设存储区域中获取到存储的加密随机数,并生成第二密钥,对于第二密钥的生成方式,请参照以上相关描述,此处不再赘述。
在获取到加密随机数,并生成第二密钥之后,即可根据生成的第二密钥,对获取到的加密随机数进行解密处理,由此得到用于加密的第二随机数。
进一步的,根据获取到的多个密钥因子生成第一密钥,包括:
对第一随机数和第二随机数进行异或处理,得到异或结果;
对异或结果和终端标识数据进行拼接处理,得到第一拼接数据;
对第一拼接数据进行哈希运算,得到第一哈希数据;
对第一哈希数据和用户标识数据进行拼接处理,得到第二拼接数据;
对第二拼接数据进行哈希运算,将得到第二哈希数据作为第一密钥。
其中,两次哈希运算所采用的哈希算法相同。比如,在对前述异或结果和终端标识数据拼接得到的第一拼接数据进行哈希运算时,采用SHA-256算法对第一拼接数据进行哈希运算,得到长度为256比特的第一哈希数据;之后,对第一拼接数据和用户标识数据进行拼接处理,得到第二拼接数据;在对第二拼接数据进行哈希运算时,同样采用SHA-256算法对第二拼接数据进行哈希运算,得到长度为256比特的第二哈希数据,此时即可将该长度为256比特的第二哈希数据作为第一密钥,用于对需要加密的浏览记录进行加密处理。
在生成第一密钥之后,即可根据第一密钥,采用AES加密算法对浏览记录进行加密,得到加密浏览记录。
由于第一密钥携带了应用、网络以及设备三个不同维度的信息,采用其对浏览记录进行加密,能够有效增加浏览记录被破解的难度,使得浏览记录的安全性得到有效提高。
在步骤204中,对加密浏览记录进行分散解密处理,基于购物小程序显示解密得到的浏览记录。
当用户需要对浏览记录进行查看时,可以控制购物小程序生成解密请求,该解密请求用于指示对加密浏览记录进行解密。
对加密浏览记录进行分散解密处理,包括:
根据接收到的解密请求获取分散存储的多个密钥因子;
根据获取到的多个密钥因子生成第一密钥;
根据第一密钥,采用AES加密算法对加密浏览记录进行解密,得到浏览记录。
本发明实施例中,数据加密装置在接收到购物小程序生成的解密请求之后,根据接收到的解密请求获取分散存储的多个密钥因子,具体的,从购物小程序对应的服务器获取第一随机数;从本地获取第二随机数;获取购物小程序对应的用户标识数据;获取终端的终端标识数据。
在获取到多个密钥因子之后,数据加密装置根据获取到的多个密钥因子生成第一密钥,具体的,对第一随机数和第二随机数进行异或处理,得到异或结果;对异或结果和终端标识数据进行拼接处理,得到第一拼接数据;对第一拼接数据进行哈希运算,得到第一哈希数据;对第一哈希数据和用户标识数据进行拼接处理,得到第二拼接数据;对第二拼接数据进行哈希运算,将得到第二哈希数据作为第一密钥。
在生成第一密钥之后,即可根据第一密钥,采用AES加密算法对加密浏览记录进行解密,得到浏览记录。
在解密出浏览记录之后,数据加密装置将解密出的浏览记录返回至购物小程序,由购物小程序进行展示,供用户查看。
为了便于更好的实施本发明实施例提供的数据加密方法,在一实施例中还提供了一种数据加密装置。其中名词的含义与上述数据加密方法中相同,具体实现细节可以参考方法实施例中的说明。
在一实施例中,还提供了一种数据加密装置,如图4a所示,该数据加密装置可以包括:请求接收模块301、第一获取模块302、第二获取模块303、密钥生成模块304以及加解密模块305,其中,
请求接收模块301,用于接收加密请求,该加密请求用于指示需要加密的数据;
第一获取模块302,用于根据加密请求从服务器获取用于加密的第一随机数;
第二获取模块303,用于从本地获取用于加密的第二随机数;
密钥生成模块304,用于根据第一随机数以及第二随机数,生成第一密钥;
加解密模块305,用于根据第一密钥,对数据进行加密处理,得到加密数据。
在一实施例中,密钥生成模块304,具体用于:
对第一随机数和第二随机数进行异或处理,得到异或结果;
获取用户标识数据,以及获取终端的终端标识数据;
根据异或结果、用户标识数据以及终端标识数据,生成第一密钥。
在一实施例中,密钥生成模块304,具体用于:
对异或结果和终端标识数据进行拼接处理,得到第一拼接数据;
对第一拼接数据进行哈希运算,得到第一哈希数据;
对第一哈希数据和用户标识数据进行拼接处理,得到第二拼接数据;
对第二拼接数据进行哈希运算,将得到第二哈希数据作为第一密钥。
在一实施例中,加解密模块305还用于:
将加密数据存储至本地的第一预设存储区域中。
在一实施例中,加解密模块305还具体用于:
根据第一随机数,对加密数据进行签名操作,得到第一签名数据;
对第一签名数据和加密数据进行拼接处理,得到第三拼接数据;
将第三拼接数据存储至第一预设存储区域中。
在一实施例中,请求接收模块301还用于接收解密请求,该解密请求用于指示对加密数据进行解密;
加解密模块305还用于:
从第一预设存储区域中获取第三拼接数据,并将第三拼接数据拆分为第一签名数据和加密数据;
对第一签名数据进行验证;
密钥生成模块304还用于在第一签名数据验证通过时,生成第一密钥;
加解密模块305还用于根据第一密钥,对加密数据进行解密处理,得到数据。
请参照图4b,在一实施例中,数据加密装置还包括随机数生成模块306,用于生成第二随机数,并将第二随机数存储至本地的第二预设存储区域中,其中,第二预设存储区域的安全等级高于与第一预设存储区域的安全等级。
在一实施例中,随机数生成模块306具体用于:
指示第一获取模块302获取所述第一随机数,并指示密钥生成模块304根据第一随机数生成第二密钥;
指示加解密模块305根据第二密钥,对第二随机数进行加密处理,得到加密随机数;
将加密随机数存储至第二预设存储区域中。
在一实施例中,第二获取模块303具体用于:
从第二预设存储区域中获取加密随机数;
指示密钥生成模块304获取第一随机数,并根据第一随机数生成第二密钥;
指示加解密模块305根据第二密钥,对加密随机数进行解密处理,得到第二随机数。
在一实施例中,加解密模块305还用于:
根据第一随机数,对加密随机数进行签名操作,得到第二签名数据;
对第二签名数据进行验证;
密钥生成模块304还用于在第二签名数据验证通过时,生成第二密钥。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本发明实施例数据加密装置采用请求接收模块301接收加密请求,该加密请求用于指示需要加密的数据;第一获取模块302根据加密请求从服务器获取用于加密的第一随机数;第二获取模块303从本地获取用于加密的第二随机数;密钥生成模块304根据第一随机数以及第二随机数,生成第一密钥;加解密模块305根据第一密钥,对数据进行加密处理,得到加密数据。该方案中,通过分散存储密钥因子,其中包括网络密钥因子(第一随机数)和本地密钥因子(第二随机数),并在需要时,根据分散存储的密钥因子生成密钥,根据该密钥对数据进行加密,可以达到提升数据安全性的目的。
参考图5,本发明实施例还提供一种终端,该终端可以包括射频(RF,RadioFrequency)电路401、包括有一个或一个以上计算机可读存储介质的存储器402、输入单元403、显示单元404、传感器405、音频电路406、无线保真(WiFi,Wireless Fidelity)模块407、包括有一个或者一个以上处理核心的处理器408、以及电源409等部件。本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路401可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器408处理;另外,将涉及上行的数据发送给基站。通常,RF电路401包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路401还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器402可用于存储软件程序以及模块,处理器408通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器408和输入单元403对存储器402的访问。
输入单元403可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元403可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器408,并能接收处理器408发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元403还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元404可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元404可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器408以确定触摸事件的类型,随后处理器408根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图5中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器405,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路406、扬声器,传声器可提供用户与终端之间的音频接口。音频电路406可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路406接收后转换为音频数据,再将音频数据输出处理器408处理后,经RF电路401以发送给比如另一终端,或者将音频数据输出至存储器402以便进一步处理。音频电路406还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块407可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块407,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器408是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器408可包括一个或多个处理核心;优选的,处理器408可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器408中。
终端还包括给各个部件供电的电源409(比如电池),优选的,电源可以通过电源管理系统与处理器408逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源409还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器408会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器408来运行存储在存储器402中的应用程序,从而实现各种功能:
接收加密请求,该加密请求用于指示需要加密的数据;
根据加密请求从服务器获取用于加密的第一随机数;
从本地获取用于加密的第二随机数;
根据第一随机数以及第二随机数,生成第一密钥;
根据第一密钥,对数据进行加密处理,得到加密数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对数据加密方法的详细描述,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种数据加密方法中的步骤。例如,该指令可以执行如下步骤:
接收加密请求,该加密请求用于指示需要加密的数据;
根据加密请求从服务器获取用于加密的第一随机数;
从本地获取用于加密的第二随机数;
根据第一随机数以及第二随机数,生成第一密钥;
根据第一密钥,对进行加密处理,得到加密数据。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种数据加密方法中的步骤,因此,可以实现本发明实施例所提供的任一种数据加密方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种数据加密方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种数据加密方法,其特征在于,包括:
接收加密请求,所述加密请求用于指示需要加密的数据;
根据所述加密请求从服务器获取用于加密的第一随机数;
从本地获取用于加密的第二随机数;
根据所述第一随机数以及所述第二随机数,生成第一密钥;
根据所述第一密钥,对所述数据进行加密处理,得到加密数据。
2.如权利要求1所述的数据加密方法,其特征在于,根据所述第一随机数以及所述第二随机数,生成第一密钥,包括:
对所述第一随机数和所述第二随机数进行异或处理,得到异或结果;
获取用户标识数据,以及获取终端的终端标识数据;
根据所述异或结果、所述用户标识数据以及所述终端标识数据,生成所述第一密钥。
3.如权利要求2所述的数据加密方法,其特征在于,根据所述异或结果、所述用户标识数据以及所述终端标识数据,生成所述第一密钥,包括:
对所述异或结果和所述终端标识数据进行拼接处理,得到第一拼接数据;
对所述第一拼接数据进行哈希运算,得到第一哈希数据;
对所述第一哈希数据和所述用户标识数据进行拼接处理,得到第二拼接数据;
对所述第二拼接数据进行哈希运算,将得到第二哈希数据作为所述第一密钥。
4.如权利要求1-3任一项所述的数据加密方法,其特征在于,根据生成的所述第一密钥,对所述数据进行加密处理,得到加密数据之后,还包括:
将所述加密数据存储至本地的第一预设存储区域中。
5.如权利要求4所述的数据加密方法,其特征在于,将所述加密数据存储至第一预设存储区域中,包括:
根据所述第一随机数,对所述加密数据进行签名操作,得到第一签名数据;
对所述第一签名数据和所述加密数据进行拼接处理,得到第三拼接数据;
将所述第三拼接数据存储至所述第一预设存储区域中。
6.如权利要求5所述的数据加密方法,其特征在于,将所述第三拼接数据存储至所述第一预设存储区域中之后,还包括:
接收解密请求,所述解密请求用于指示对所述加密数据进行解密;
从所述第一预设存储区域中获取所述第三拼接数据,并将所述第三拼接数据拆分为所述第一签名数据和所述加密数据;
对所述第一签名数据进行验证,并在所述第一签名数据验证通过时,生成所述第一密钥;
根据所述第一密钥,对所述加密数据进行解密处理,得到所述数据。
7.如权利要求4所述的数据加密方法,其特征在于,接收加密请求之前,还包括:
生成所述第二随机数,并将所述第二随机数存储至本地的第二预设存储区域中,其中,所述第二预设存储区域的安全等级高于所述第一预设存储区域的安全等级。
8.如权利要求7所述的数据加密方法,其特征在于,将所述第二随机数存储至第二预设存储区域中,包括:
获取所述第一随机数,并根据所述第一随机数生成第二密钥;
根据所述第二密钥,对所述第二随机数进行加密处理,得到加密随机数;
将所述加密随机数存储至所述第二预设存储区域中。
9.如权利要求8所述的数据加密方法,其特征在于,从本地获取用于加密的第二随机数,包括:
从所述第二预设存储区域中获取所述加密随机数;
获取所述第一随机数,并根据所述第一随机数生成所述第二密钥;
根据所述第二密钥,对所述加密随机数进行解密处理,得到所述第二随机数。
10.如权利要求9所述的数据加密方法,其特征在于,根据所述第二密钥,对所述第二随机数进行加密处理,得到加密随机数之后,还包括:
根据所述第一随机数,对所述加密随机数进行签名操作,得到第二签名数据;
而生成所述第二密钥,包括:
对所述第二签名数据进行验证,并在所述第二签名数据验证通过时,生成所述第二密钥。
11.一种数据加密装置,其特征在于,包括:
请求接收模块,用于接收加密请求,所述加密请求用于指示需要加密的数据;
第一获取模块,用于根据所述加密请求从服务器获取用于加密的第一随机数;
第二获取模块,用于从本地获取用于加密的第二随机数;
密钥生成模块,用于根据所述第一随机数以及所述第二随机数,生成第一密钥;
加解密模块,用于根据所述第一密钥,对所述数据进行加密处理,得到加密数据。
12.如权利要求11所述的数据加密装置,其特征在于,所述密钥生成模块,用于:
对所述第一随机数和所述第二随机数进行异或处理,得到异或结果;
获取用户标识数据,以及获取终端的终端标识数据;
根据所述异或结果、所述用户标识数据以及所述终端标识数据,生成所述第一密钥。
13.如权利要求12所述的数据加密装置,其特征在于,所述密钥生成模块用于:
对所述异或结果和所述终端标识数据进行拼接处理,得到第一拼接数据;
对所述第一拼接数据进行哈希运算,得到第一哈希数据;
对所述第一哈希数据和所述用户标识数据进行拼接处理,得到第二拼接数据;
对所述第二拼接数据进行哈希运算,将得到第二哈希数据作为所述第一密钥。
14.如权利要求11-13任一项所述的数据加密装置,其特征在于,所述加解密模块,还用于:
将所述加密数据存储至本地的第一预设存储区域中。
15.一种存储介质,其特征在于,所述存储介质存储有指令,所述指令被处理器执行时实现如权利要求1-10任一项所述的数据加密方法。
CN201810391003.0A 2018-04-27 2018-04-27 一种数据加密方法、装置和存储介质 Active CN110417543B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810391003.0A CN110417543B (zh) 2018-04-27 2018-04-27 一种数据加密方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810391003.0A CN110417543B (zh) 2018-04-27 2018-04-27 一种数据加密方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN110417543A true CN110417543A (zh) 2019-11-05
CN110417543B CN110417543B (zh) 2022-03-08

Family

ID=68345827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810391003.0A Active CN110417543B (zh) 2018-04-27 2018-04-27 一种数据加密方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN110417543B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111082935A (zh) * 2019-12-31 2020-04-28 江苏芯盛智能科技有限公司 一种媒体密钥生成方法、装置及基于媒体密钥的终端
CN111639353A (zh) * 2020-05-26 2020-09-08 浙江大华技术股份有限公司 一种数据管理方法、装置、嵌入式设备及存储介质
CN111680325A (zh) * 2020-06-05 2020-09-18 深圳前海微众银行股份有限公司 一种数据加押方法及装置
CN111787517A (zh) * 2020-02-21 2020-10-16 北京沃东天骏信息技术有限公司 智能设备激活绑定的方法和装置
CN112260823A (zh) * 2020-09-16 2021-01-22 浙江大华技术股份有限公司 数据传输方法、智能终端和计算机可读存储介质
CN112434322A (zh) * 2020-12-03 2021-03-02 深圳市欢太科技有限公司 数据加密方法、装置、计算机设备及计算机可读存储介质
CN112671740A (zh) * 2020-12-17 2021-04-16 平安普惠企业管理有限公司 Hppt报文传输方法及相关装置
CN113079002A (zh) * 2021-03-26 2021-07-06 北京深思数盾科技股份有限公司 数据加密方法、解密方法、密钥管理方法、介质和设备
CN114154135A (zh) * 2022-02-07 2022-03-08 南京理工大学 基于国密算法的车联网通信安全认证方法、系统及设备
CN114338152A (zh) * 2021-12-27 2022-04-12 上海市数字证书认证中心有限公司 数据处理方法和装置
CN114598478A (zh) * 2022-03-10 2022-06-07 北京明略昭辉科技有限公司 数据加密的方法、装置、电子设备和存储介质
CN118316604A (zh) * 2024-06-05 2024-07-09 广汽埃安新能源汽车股份有限公司 动态密钥生成方法、升级包加密方法、软件升级方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151676A (en) * 1997-12-24 2000-11-21 Philips Electronics North America Corporation Administration and utilization of secret fresh random numbers in a networked environment
CN101645773A (zh) * 2008-08-05 2010-02-10 耶德托存取公司 基于椭圆曲线加密法的签密方案
CN106603496A (zh) * 2016-11-18 2017-04-26 新智数字科技有限公司 一种数据传输的保护方法、智能卡、服务器及通信系统
CN107743063A (zh) * 2017-10-31 2018-02-27 北京小米移动软件有限公司 数据处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151676A (en) * 1997-12-24 2000-11-21 Philips Electronics North America Corporation Administration and utilization of secret fresh random numbers in a networked environment
CN101645773A (zh) * 2008-08-05 2010-02-10 耶德托存取公司 基于椭圆曲线加密法的签密方案
CN106603496A (zh) * 2016-11-18 2017-04-26 新智数字科技有限公司 一种数据传输的保护方法、智能卡、服务器及通信系统
CN107743063A (zh) * 2017-10-31 2018-02-27 北京小米移动软件有限公司 数据处理方法及装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111082935A (zh) * 2019-12-31 2020-04-28 江苏芯盛智能科技有限公司 一种媒体密钥生成方法、装置及基于媒体密钥的终端
CN111082935B (zh) * 2019-12-31 2022-07-12 江苏芯盛智能科技有限公司 一种媒体密钥生成方法、装置及基于媒体密钥的终端
CN111787517A (zh) * 2020-02-21 2020-10-16 北京沃东天骏信息技术有限公司 智能设备激活绑定的方法和装置
CN111639353A (zh) * 2020-05-26 2020-09-08 浙江大华技术股份有限公司 一种数据管理方法、装置、嵌入式设备及存储介质
CN111639353B (zh) * 2020-05-26 2023-08-11 浙江大华技术股份有限公司 一种数据管理方法、装置、嵌入式设备及存储介质
CN111680325A (zh) * 2020-06-05 2020-09-18 深圳前海微众银行股份有限公司 一种数据加押方法及装置
CN112260823A (zh) * 2020-09-16 2021-01-22 浙江大华技术股份有限公司 数据传输方法、智能终端和计算机可读存储介质
CN112260823B (zh) * 2020-09-16 2022-08-09 浙江大华技术股份有限公司 数据传输方法、智能终端和计算机可读存储介质
CN112434322A (zh) * 2020-12-03 2021-03-02 深圳市欢太科技有限公司 数据加密方法、装置、计算机设备及计算机可读存储介质
CN112434322B (zh) * 2020-12-03 2024-05-07 深圳市欢太科技有限公司 数据加密方法、装置、计算机设备及计算机可读存储介质
CN112671740A (zh) * 2020-12-17 2021-04-16 平安普惠企业管理有限公司 Hppt报文传输方法及相关装置
CN113079002B (zh) * 2021-03-26 2022-04-05 北京深思数盾科技股份有限公司 数据加密方法、解密方法、密钥管理方法、介质和设备
CN113079002A (zh) * 2021-03-26 2021-07-06 北京深思数盾科技股份有限公司 数据加密方法、解密方法、密钥管理方法、介质和设备
CN114338152A (zh) * 2021-12-27 2022-04-12 上海市数字证书认证中心有限公司 数据处理方法和装置
CN114338152B (zh) * 2021-12-27 2024-04-12 上海市数字证书认证中心有限公司 数据处理方法和装置
CN114154135A (zh) * 2022-02-07 2022-03-08 南京理工大学 基于国密算法的车联网通信安全认证方法、系统及设备
CN114598478A (zh) * 2022-03-10 2022-06-07 北京明略昭辉科技有限公司 数据加密的方法、装置、电子设备和存储介质
CN114598478B (zh) * 2022-03-10 2024-04-19 北京明略昭辉科技有限公司 数据加密的方法、装置、电子设备和存储介质
CN118316604A (zh) * 2024-06-05 2024-07-09 广汽埃安新能源汽车股份有限公司 动态密钥生成方法、升级包加密方法、软件升级方法
CN118316604B (zh) * 2024-06-05 2024-09-20 广汽埃安新能源汽车股份有限公司 动态密钥生成方法、升级包加密方法、软件升级方法

Also Published As

Publication number Publication date
CN110417543B (zh) 2022-03-08

Similar Documents

Publication Publication Date Title
CN110417543A (zh) 一种数据加密方法、装置和存储介质
CN107786504B (zh) Elf文件发布方法、elf文件校验方法、服务器及终端
CN104836664B (zh) 一种执行业务处理的方法、装置和系统
CN104821937B (zh) 令牌获取方法、装置及系统
US9697366B1 (en) Use of generic (browser) encryption API to do key exchange (for media files and player)
CN111475841B (zh) 一种访问控制的方法、相关装置、设备、系统及存储介质
US9703971B2 (en) Sensitive operation verification method, terminal device, server, and verification system
RU2628488C2 (ru) Способ, терминальное устройство и сервер для передачи данных nfc
CN104519485B (zh) 一种终端之间的通信方法、装置和系统
CN110198301B (zh) 一种服务数据获取方法、装置及设备
CN109600223A (zh) 验证方法、激活方法、装置、设备及存储介质
CN106850220A (zh) 数据加密方法、数据解密方法及装置
CN107040540B (zh) 一种云隐私数据显示方法和装置、服务器及移动终端
CN106598584A (zh) 一种处理资源文件的方法、装置和系统
CN107040609A (zh) 一种网络请求处理方法和装置
CN108920366A (zh) 一种子应用调试方法、装置及系统
CN108011879A (zh) 文件加密、解密的方法、装置、设备和存储介质
CN104376353A (zh) 二维码的生成、读取方法、终端及服务器
CN104735657B (zh) 安全终端验证方法、无线接入点绑定方法、装置及系统
WO2015078274A1 (en) Devices and methods for password storage
CN104580177B (zh) 资源提供方法、装置和系统
CN106709282B (zh) 资源文件解密方法及装置
CN104954126A (zh) 敏感操作验证方法、装置及系统
CN108234124A (zh) 身份验证方法、装置与系统
CN107590397A (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