CN114244508B - 数据加密方法、装置、设备及存储介质 - Google Patents
数据加密方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114244508B CN114244508B CN202111538029.1A CN202111538029A CN114244508B CN 114244508 B CN114244508 B CN 114244508B CN 202111538029 A CN202111538029 A CN 202111538029A CN 114244508 B CN114244508 B CN 114244508B
- Authority
- CN
- China
- Prior art keywords
- key
- data
- encryption
- request
- data encryption
- 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
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- 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
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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
- H04L9/3247—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 involving digital signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及密码技术领域,公开了一种数据加密方法、装置、设备及存储介质。本方法包括:基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;接收数据加密请求,基于数据加密请求构建私密存储空间;基于预设鉴权算法对密钥管理服务进行鉴权,得到第一密钥对应的密钥ID;根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;通过目标密钥对对象数据进行数据加密,得到目标对象数据;将加密对象数据存储于预设私密存储空间。本发明将基于KMS加密技术,使数据以随机密文结合远端密文加密方式进行传输,解决了常见的key泄露、撞库等安全隐患,提高了数据的安全性。
Description
技术领域
本发明涉及密码技术领域,尤其涉及一种数据加密方法、装置、设备及存储介质。
背景技术
当今的大数据时代,大容量、高效率的存储已经成为企业必不可少的需求,ceph作为开源的分布式存储软件,整合普通磁盘容量形成统一的大存储池提供存储需求,当前已经成为业界流行的解决方案,其中rgw对象存储接口以其读写速率高、数据可共享等特性深受欢迎。
然而,rgw默认仅以access_key、secret_key作为身份校验方式,这种校验方式一般会以明文方式放置在程序的配置文件中,安全性有很大风险,因此如何通过加密技术增加数据安全性,成了本领域技术人员需要解决的技术问题。
发明内容
本发明的主要目的在于基于KMS加密技术,使数据以随机密文结合远端密文加密方式进行传输,解决了常见的key泄露、撞库等技术问题,提高了数据的安全性。
本发明第一方面提供了数据加密方法,包括:接收密钥创建请求,基于所述密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;接收数据加密请求,基于所述数据加密请求构建私密存储空间,其中,所述数据加密请求是由完整的Put请求体构成,所述数据加密请求中携带对象数据,所述对象数据为待加密数据;基于预设鉴权算法对所述密钥管理服务进行鉴权,得到所述第一密钥对应的密钥ID;根据所述密钥ID和所述Put请求随机生成随机密文数据,并对所述随机密文数据进行哈希转换,得到目标密钥;通过所述目标密钥对所述对象数据进行数据加密,得到目标对象数据;将所述目标对象数据存储于所述私密存储空间。
可选地,在本发明第一方面的第一种实现方式中,在所述接收密钥创建请求,基于所述密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥之前,还包括:获取密钥创建参数,其中,所述密钥创建参数中携带初始unique值;基于预设防攻击数据对所述初始unique值进行更新,得到目标unique值,并根据更新后的密钥创建参数生成密钥。
可选地,在本发明第一方面的第二种实现方式中,所述接收密钥创建请求,基于所述密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥包括:生成包括目标公钥和目标私钥的非对称密钥对;接收密钥创建请求,基于所述目标公钥和预设密钥创建参数,通过预设的密钥生成算法在密钥管理服务中创建第一密钥。
可选地,在本发明第一方面的第三种实现方式中,所述接收数据加密请求,基于所述数据加密请求构建私密存储空间包括:基于所述数据加密请求,确定待构建的私密存储空间存储数据的属性;构建所述属性对应的私密存储空间。
可选地,在本发明第一方面的第四种实现方式中,所述根据所述密钥ID和所述Put请求随机生成随机密文数据,并对所述随机密文数据进行哈希转换,得到目标密钥包括:根据所述密钥ID在所述密钥管理服务得到第二密钥,并根据所述Put请求和所述第二密钥对应的密钥明文数据生成随机密文数据;将所述随机密文数据存储至所述私密存储空间,并对所述随机密文数据进行哈希转换;将转换后的结果作为加密密钥,对所述随机密文数据进行加密,得到目标密钥。
可选地,在本发明第一方面的第五种实现方式中,所述通过所述目标密钥对所述对象数据进行数据加密,得到目标对象数据包括:基于预设数据加密决策网络提取所述对象数据的数据加密决策特征;基于所述数据加密决策特征,确定所述对象数据的加密特征分区;基于所述加密密钥和所述加密特征分区对所述对象数据进行数据加密,得到目标对象数据。
本发明第二方面提供了一种数据加密装置,包括:创建模块,用于接收密钥创建请求,基于所述密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;构建模块,接收数据加密请求,基于所述数据加密请求构建私密存储空间,其中,所述数据加密请求包括Put请求和对象数据,所述对象数据为待加密数据;鉴权模块,用于基于预设鉴权算法对所述密钥管理服务进行鉴权,得到所述第一密钥对应的密钥ID;生成模块,用于根据所述密钥ID和所述Put请求随机生成随机密文数据,并对所述随机密文数据进行哈希转换,得到目标密钥;加密模块,用于通过所述目标密钥对所述对象数据进行数据加密,得到目标对象数据;存储模块,用于将所述目标对象数据存储于所述私密存储空间。
可选地,在本发明第二方面的第一种实现方式中,所述数据加密装置还包括:获取模块,用于获取密钥创建参数,其中,所述密钥创建参数中携带初始unique值;更新模块,用于基于预设防攻击数据对所述初始unique值进行更新,得到目标unique值,并根据更新后的密钥创建参数生成密钥。
可选地,在本发明第二方面的第二种实现方式中,所述创建模块具体用于:生成包括目标公钥和目标私钥的非对称密钥对;接收密钥创建请求,基于所述目标公钥和预设密钥创建参数,通过预设的密钥生成算法在密钥管理服务中创建第一密钥。
可选地,在本发明第二方面的第三种实现方式中,所述构建模块具体用于:基于所述数据加密请求,确定待构建的私密存储空间存储数据的属性;构建所述属性对应的私密存储空间。
可选地,在本发明第二方面的第四种实现方式中,所述生成模块具体用于:根据所述密钥ID在所述密钥管理服务得到第二密钥,并根据所述Put请求和所述第二密钥对应的密钥明文数据生成随机密文数据;将所述随机密文数据存储至所述私密存储空间,并对所述随机密文数据进行哈希转换;将转换后的结果作为加密密钥,对所述随机密文数据进行加密,得到目标密钥。
可选地,在本发明第二方面的第五种实现方式中,所述加密模块包括:提取单元,用于基于预设数据加密决策网络提取所述对象数据的数据加密决策特征;确定单元,用于基于所述数据加密决策特征,确定所述对象数据的加密特征分区;加密单元,用于基于所述加密密钥和所述加密特征分区对所述对象数据进行数据加密,得到目标对象数据。
本发明第三方面提供了数据加密设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据加密设备执行上述的数据加密方法的步骤。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的数据加密方法的步骤。
本发明提供的技术方案中,通过基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建密钥;接收数据加密请求,基于数据加密请求构建私密存储空间;基于预设鉴权算法对密钥管理服务进行鉴权,得到密钥对应的密钥ID;根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;通过目标密钥对对象数据进行数据加密,得到目标对象数据;将加密对象数据存储于预设私密存储空间。本发明将基于KMS加密技术,使数据以随机密文结合远端密文加密方式进行传输,解决了常见的key泄露、撞库等安全隐患,提高了数据的安全性。
附图说明
图1为本发明提供的数据加密方法的第一个实施例示意图;
图2为本发明提供的数据加密方法的第二个实施例示意图;
图3为本发明提供的数据加密方法的第三个实施例示意图;
图4为本发明提供的数据加密方法的第四个实施例示意图;
图5为本发明提供的数据加密方法的第五个实施例示意图;
图6为本发明提供的数据加密装置的第一个实施例示意图;
图7为本发明提供的数据加密装置的第二个实施例示意图;
图8为本发明提供的数据加密设备的一个实施例示意图。
具体实施方式
本发明实施例提供的数据加密方法、装置、设备及存储介质,先通过基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建密钥;接收数据加密请求,基于数据加密请求构建私密存储空间;基于预设鉴权算法对密钥管理服务进行鉴权,得到密钥对应的密钥ID;根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;通过目标密钥对对象数据进行数据加密,得到目标对象数据;将加密对象数据存储于预设私密存储空间。本发明将基于KMS加密技术,使数据以随机密文结合远端密文加密方式进行传输,解决了常见的key泄露、撞库等安全隐患,提高了数据的安全性。
本发明的说明书和权利要求书及上述附中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中数据加密方法的第一个实施例包括:
101、接收密钥创建请求,基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;
本实施例中,密钥管理服务(KMS,Key Management Service)提供安全合规的密钥托管和密码服务,帮助用户使用密钥来加密保护敏感的数据资产,控制云上的分布式计算和存储环境。用户可以追踪密钥的使用情况,配置密钥的自动轮转策略,以及利用托管密码机所具备的中国国家密码管理局或者FIPS认证资质,来满足用户的监管合规需求。
本实施例中,密钥创建请求用于向资源管理系统请求获取密钥。其中,密钥创建请求中包括用户信息。其中,用户信息用于指示唯一的用户,例如,用户信息为用户名。可选地,资源管理系统可以根据该密钥创建请求获取上述用户信息对应的密钥。
在一种可能的实施方式中,资源管理系统从客户端获取上述文件获取请求。可选地,客户端在确定用户信息为第一次获取的用户信息时,向资源管理系统发送上述文件获取请求。例如,客户端在用户登陆某个网站时,获取该用户对应的用户信息,并对该用户信息的获取次数进行检测,确定第一次获取该用户信息时,根据该用户信息生成密钥创建请求,并向资源管理系统发送该密钥创建请求。对应的,资源管理系统获取该密钥创建请求。
在另一种实施例中,资源管理系统从第一服务获取上述文件获取请求。其中,第一服务设置在上述容器集群的第二容器中。可选地,客户端在确定用户信息为第一次获取的用户信息时,向第一服务发送该用户信息;进一步地,第一服务根据该用户信息生成密钥创建请求,并存储该密钥创建请求。例如,客户端在用户登陆某个网站时,获取该用户对应的用户信息,并对该用户信息的获取次数进行检测,确定第一次获取该用户信息时,向第一服务发送该用户信息,进一步地,第一服务根据该用户信息生成密钥创建请求,并存储该密钥创建请求。对应的,资源管理系统获取该密钥创建请求。
102、接收数据加密请求,基于数据加密请求构建私密存储空间;
本实施例中,该应用程序可以为服务器系统或者终端设备的后台程序。由于服务器系统里存储着重要的数据,通常会对服务器系统数据进行加密,查看该服务器系统里的信息时需要输入明文,该明文可以为一个包含大小写字母的6位或4位字符,本方案不做限制。当黑客攻击该服务器系统后台时,由于明文相对简单,很容易被破解,从而导致该服务器系统里的重要数据泄露。因此在设置密码完成后,需要对该明文进行加密处理,这样在该应用程序的数据库中只能获取到该明文对应的密文,由于该密文很难破解,从而防止了信息的泄露。
本实施例中,执行主体为终端,终端包括但不限于移动终端、电脑、平板电脑。需要加密的数据可以是其他终端上的数据,也可以是终端上的数据。
数据可以是图片、联系人信息、视频等,联系人信息包括vCard(电子名片)。用户可选定需要加密的数据发出数据加密请求,具体的,用户选定数据后,可弹出是否加密的提示信息,用户可基于该提示信息进行确定操作,从而发出数据加密请求。进一步的,用户可以选择用于加密数据的终端,用于加密数据的终端与数据所在的终端通信连接,通信连接包括但不限于热点连接、蓝牙连接等。终端在接收到数据加密请求时,构建私密存储空间,使得私密存储空间存储需要加密的数据。私密存储空间的存储量根据需要加密的数据大小进行确定,也即保证构建的私密存储空间的存储量大于或等于需要加密的数据的数据量。进一步地,私密存储空间存储需要加密的数据,也即终端中存在多个存储有加密数据的私密存储空间,终端可将已存在的私密存储空间与创建的私密存储空间合并,或者直接对已存在的私密存储空间进行存储量的扩充;而终端可以根据当前需要加密的数据的属性确定已存在的私密空间,也即终端确定的已存在私密存储空间中存储的数据的属性与当前需要加密的数据属性相同,数据的属性包括数据大小、数据加密等级、数据类型以及数据所属用户的身份标识,身份标识可为用户的名称、身份证、编号、图像中的至少一个。
本实施例中,所述数据加密请求是由完整的Put请求体构成,所述数据加密请求中携带对象数据,所述对象数据为待加密数据。
其中,Put请求是指PUT方法请求服务器去把请求里的实体存储在请求URI(Request-URI)标识中。如果请求URI(Request-URI)指定的资源已经在源服务器上存在,那么此请求里的实体应该被当作是源服务器关于此URI所指定资源实体的最新修改版本。如果请求URI(Request-URI)指定的资源不存在,并且此URI被用户代理定义为一个新资源,那么源服务器就应该根据请求里的实体创建一个此URI所标识下的资源。如果一个新的资源被创建了,源服务器必须能向用户代理(user agent)发送201(已创建)响应。如果已存在的资源被改变了,那么源服务器应该发送200(Ok)或者204(无内容)响应。如果资源不能根据请求URI创建或者改变,一个合适的错误响应应该给出以反应问题的性质。实体的接收者不能忽略任何它不理解和不能实现的Content-*(如:Content-Range)头域,并且必须返回501(没有被实现)响应。如果请求穿过一个缓存(cache),并且此请求URI(Request-URI)指示了一个或多个当前缓存的实体,那么这些实体应该被看作是旧的。PUT方法的响应是不可缓存的。
103、基于预设鉴权算法对密钥管理服务进行鉴权,得到第一密钥对应的密钥ID;
本实施例中,鉴权(authentication)是指验证用户是否拥有访问系统的权利。传统的鉴权是通过密码来验证的。这种方式的前提是,每个获得密码的用户都已经被授权。在建立用户时,就为此用户分配一个密码,用户的密码可以由管理员指定,也可以由用户自行申请。这种方式的弱点十分明显:一旦密码被偷或用户遗失密码,情况就会十分麻烦,需要管理员对用户密码进行重新修改,而修改密码之前还要人工验证用户的合法身份。
为了克服这种鉴权方式的缺点,需要一个更加可靠的鉴权方式。主流鉴权方式是利用认证授权来验证数字签名的正确与否。
本实施例中,密钥管理服务提供密钥托管和密码服务,负责密码基础设施的完全托管,保证服务和设施的可用性,安全性以及可靠性。用户只需要专注于密钥的生命周期和权限策略等管理任务,以及数据加解密和数字签名验签等业务场景。
密钥管理服务在每个地域构建了多可用区冗余的密码计算能力,保证向密钥管理服务发起的请求可以得到低延迟处理。用户可以根据需要,在不同地域的密钥管理服务创建足够的密钥,而不必担心底层设施的扩容或缩容。
同时,密钥管理服务对密码技术和HSM接口进行了抽象,通过简单易用的接口(PKCS#11),帮助用户实现自定义的数据加密保护,让安全与合规需求与业务系统紧密融合,进一步减小恶意者对敏感数据的攻击面。用户还可以通过非对称的密钥对,实现数字签名来保护关键数据或者消息的完整性。
104、根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;
本实施例中,加密是将用户的明文数据通过加密,变成加密数据,在数据被窃取的时候起到防护作用。对于Ceph来说,从应用程序到存储设备的数据链路上来看,根据对数据加密的位置,现阶段主要有以下几种加密方式。
客户端加密:这包括应用程序本身的加密,以及更为广泛的通用加密模块。如Linux内核的dmcrypt。这些加密都在客户端进行,意味着在网络上传送的都是加密数据,存储的也都是加密数据。
存储端加密:数据的加密与解密在存储端进行,存储设备负责管理密钥。在这种方法中,在网络上通过HTTP传递的都是明文数据,想要避免传递明文数据,需要使用HTTPS。
Ceph作为一个分布式存储系统,提供了存储端加密。根据用户数据在Ceph中的I/O路径,可以提供多种不同的加密方式。比如,OSD端加密。其中,所述OSD端加密,其实是对硬盘来进行加密的。基本原理是通过Linux内核dmcrypt模块,进行数据的加密与解密。
本实施例中,随机生成随机串,全局唯一标识符(GUID,Globally UniqueIdentifier)也称作UUID(Universally Unique IDentifier,通用唯一标识符)。
GUID是一种由算法生成的二进制长度为128位的数字标识符。GUID的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中的x是0-9或a-f范围内的一个32位十六进制数。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。
GUID的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。GUID一词有时也专指微软对UUID标准的实现。
105、通过目标密钥对对象数据进行数据加密,得到目标对象数据;
本实施例中,可以采用对称加密算法,利用得到的加密密钥对数据加密请求携带的对象数据加密。所述对称加密算法包括:RC2、RC4、DES(DataEncryption Standard)、3DES、或AES(Advanced Encryption Standard)算法等。
本实施例中,对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信的安全性至关重要。
106、将目标对象数据存储于私密存储空间。
本实施例中,Put请求实现加密后,数据以加密形式存储在osd上,普通的get请求传入rgw后,rgw会判断是否带key_selector与key_id参数,若未带或key值不匹配则直接拒绝,故需要先向kms服务端申请key_id附加到请求当中进行get,但这样一来,业务量较大的场景下会给kms服务端带来较大负载,并且每次get都会有额外的请求io,会降低效率,需要设计合适的缓存策略,将key_id缓存到本地。
其中,所述缓存策略具体指KMS会对每次获取的密钥中加入随机扰动因子,每次得到的KEY均不一样。这样的好处在于可以避免通过构造特殊数据并重复调用猜解密钥的可能。所以,当我们缓存KEY的时候应该尽量设置较短的过期时间(当前默认5秒),以便长时间不更新KEY导致随机扰动失效。
Cache采用boost的LRU实现,缓存淘汰采用懒惰删除的方式进行。目前加密的场景中,即使多个RGW的缓存不一致,是完全不会影响加解密业务,所以无需保证各个实例的cache一致性,采用独立cache解决问题。
本实施例中,OSD(Object Storage Device,对象存储资源),具体地,存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构,而对象存储(Object-basedStorage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。总体上来讲,对象存储(Object-Based Storage,OBS)综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的分布式数据共享等优势,提供了具有高性能、高可靠性、跨平台以及安全的数据共享的存储体系结构。
本发明实施例中,通过基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建密钥;接收数据加密请求,基于数据加密请求构建私密存储空间;基于预设鉴权算法对密钥管理服务进行鉴权,得到密钥对应的密钥ID;根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;通过目标密钥对对象数据进行数据加密,得到目标对象数据;将加密对象数据存储于预设私密存储空间。本发明将基于KMS加密技术,使数据以随机密文结合远端密文加密方式进行传输,解决了常见的key泄露、撞库等安全隐患,提高了数据的安全性。
请参阅图2,本发明实施例中数据加密方法的第二个实施例包括:
201、获取密钥创建参数,其中,密钥创建参数中携带初始unique值;
本实施例中,创建密钥是仅需要使用用户提供的密钥创建参数,而用户提供的密钥创建参数通常会以参数模板的形式保存在设备存储介质中,因此,用户提供的密钥创建参数容易被攻击者获取到,进而,攻击者可能会恢复该密钥,并使用该密钥对相关加密数据进行解密。因此,为了提高通信设备生成的密钥的安全性,通信设备在获取到用户提供的密钥创建参数之后,在根据该密钥创建参数创建密钥之前,可以先对该密钥创建参数中的unique值进行更新,以便后续使用更新后的unique值进行密钥生成,从而,即使用户提供的密钥创建参数被攻击者获取到,攻击者也无法直接使用该密钥创建参数恢复密钥。
202、将预设防攻击数据与初始unique值进行串接,基于预设散列哈希算法确定目标unique值;
本实施例中,获取到用户提供的密钥创建参数之后,可以对该密钥创建参数中的unique值(本步骤中称为初始unique值),进行更新,以得到更新后的unique值(本步骤中称为目标unique值)。
本实施例中,在创建密钥的过程中,用户除了需要提供密钥创建参数之外,还需要提供防攻击数据;通信设备获取到用户提供的密钥创建参数之后,可以根据用户提供的防攻击数据以及该密钥创建参数中的初始unique值确定目标unique值。
具体的,在该实施方式中,通信设备检测到用户的主密钥创建操作指令时,除了需要用户提供参数创建模板以及授权数据之外,还可以提示用户输入防攻击数据,并根据用户输入的防攻击数据以及参数创建模板中的初始unique值和授权数据确定目标unique值,并将参数创建模板中的初始unique值更新为目标unique值。
203、接收密钥创建请求,基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;
204、接收数据加密请求,基于数据加密请求构建私密存储空间;
205、基于预设鉴权算法对密钥管理服务进行鉴权,得到第一密钥对应的密钥ID;
206、根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;
207、通过目标密钥对对象数据进行数据加密,得到目标对象数据;
208、将目标对象数据存储于预设私密存储空间。
本实施例中步骤203-208与第一实施例中的步骤101-106类似,此处不再赘述。
本发明实施例中,通过基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建密钥;接收数据加密请求,基于数据加密请求构建私密存储空间;基于预设鉴权算法对密钥管理服务进行鉴权,得到密钥对应的密钥ID;根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;通过目标密钥对对象数据进行数据加密,得到目标对象数据;将加密对象数据存储于预设私密存储空间。本发明将基于KMS加密技术,使数据以随机密文结合远端密文加密方式进行传输,解决了常见的key泄露、撞库等安全隐患,提高了数据的安全性。
请参阅图3,本发明实施例中数据加密方法的第三个实施例包括:
301、生成包括目标公钥和目标私钥的非对称密钥对;
本实施例中,公钥是与私钥算法一起使用的密钥对的非秘密一半。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),其中的一个向外界公开,称为公钥;另个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。
本实施例中,私钥加密算法使用单个私钥来加密和解密数据。由于具有密钥的任意一方都可以使用该密钥解密数据,因此必须保护密钥不被未经授权的代理得到。私钥加密又称为对称加密,因为同一密钥既用于加密又用于解密。私钥加密算法非常快(与公钥算法相比),特别适用于对较大的数据流执行加密转换。通常,私钥算法(称为块密码)用于一次加密一个数据块。块密码(如RC2、DES、TripleDES和Rijndael)通过加密将n字节的输入块转换为加密字节的输出块。如果要加密或解密字节序列,必须逐块进行。由于n很小(对于RC2、DES和TripleDES,n=8字节;n=16[默认值];n=24;对于Rijndael,n=32),因此必须对大于n的数据值一次加密一个块。
本实施例中,非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密。
另一方面,甲方可以使用自己的私钥对机密信息进行签名后再发送给乙方;乙方再用甲方的公钥对甲方发送回来的数据进行验签。甲方只能用其私钥解密由其公钥加密后的任何信息。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
其中,非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。
302、接收密钥创建请求,基于目标公钥和预设密钥创建参数,通过预设的密钥生成算法在密钥管理服务中创建第一密钥;
本实施例中,通过服务端认证所述第一创建密钥请求对应的客户端的用户身份信息是否合法;如果非法,则申请创建密钥失败,返回错误并将错误信息记录到日志。如果合法,则控制密钥生成模块生成所述第一密钥以及第一密钥ID。并把所述第一密钥以及第一密钥ID保存在密钥存储模块的数据库中,然后把第一密钥ID反馈给客户端,所述客户端接收所述第一密钥ID,并将所述第一密钥ID保存至块设备元数据区。该实施例通过服务端对客户端的用户身份的合法性进行认证,实现了对用户的身份认证和密钥的访问控制,提升了密钥管理过程的安全性。
需要指出,本步骤支持生成高质量的密钥。加密密钥由密码设备产生的真随机数派生而生成,密码设备产生的真随机数符合密码标准中对随机数检测规范的要求。并将所述第一密钥加密后以密钥密文的形式集中存储在数据库中,使之持久化。
具体地,密钥生成算法是指在线或离线的交互协商方式(如密码协议等)生成密钥的算法。其中,密钥算法用来对敏感数据、摘要、签名等信息进行加密,常用的密钥算法包括:DES(Data Encryption Standard)、3DES(Triple DES)、RC2和RC4、IDEA(InternationalData Encryption Algorithm)国际数据加密算法、RSA、DSA(Digital SignatureAlgorithm)、AES(Advanced Encryption Standard)、BLOWFISH、其它算法,如ElGamal、Deffie-Hellman、新型椭圆曲线算法ECC等。
303、基于数据加密请求,确定待构建的私密存储空间存储数据的属性;
本实施例中,用户在发送数据加密请求或者私密存储空间设置请求时,可对需要构建的私密存储空间设置可存储的数据的属性,使得终端构建的私密存储空间只允许存储与私密存储空间对应的属性匹配的数据。例如,私密存储空间的数据加密等级为n级,那么数据存储空间只存储数据加密等级为n级的数据。
此外,终端还可以根据数据加密请求对应的需要加密的数据确定待构建的私密存储空间存储数据的属性,也即需要加密的数据的属性与私密存储空间存储的数据的属性一致,使得构建的私密存储空间仅存储数据加密请求对应的数据。
用户还可设置存储至私密存储空间的数据来源,也即将产生数据的应用程序与私密存储空间关联,使得私密存储空间存储关联的应用程序产生的数据。此外,还可设置关键词,终端在检测到关键词后,可将关键词所对应的内容以及该内容对应的联系人信息直接存储至私密存储空间,例如,可在某个与私密存储空间关联的应用程序设置保密关键词“麻烦保密以下内容”,终端在开启该应用程序后,且检测到该保密关键词,自动将位于保密关键词以下的内容存储至私密存储空间;且可设置对应的中止关键词“停止保密”,使得私密存储空间停止存储该应用程序产生的内容。
304、构建属性对应的私密存储空间;
本实施例中,终端在构建私密存储空间时,可设置私密存储空间的写入权限、读取权限以及删除权限。写入权限在需要存储的数据的属性与私密存储空间对应的属性一致时开启,在数据存储完毕后关闭;私密存储空间的读取权限可与用户的用户信息进行关联保存,用户信息可以是用户的身份证、图像、名称、电话号码、QQ号、邮件地址等信息,读取权限一般是关闭,在需要开启时,需要进行验证,也即获取需要读取数据的用户的用户信息,再将获取的用户信息与私密存储空间关联的用户信息进行比对,若是一致,则开启读取权限,在用户退出私密存储空间再关闭读取权限;同理,删除权限与读取权限的设置原理一致,在用户需要对私密存储空间的数据进行删除时,进行验证,以判断删除操作对应的用户是否具有删除权限,若是具有,则删除对应的数据。
在本实施例提供的技术方案中,终端确定待构建的私密存储空间存储数据的属性,进而构建属性对应的私密存储空间,使得私密存储空间仅存储对应属性的数据,以避免私密存储空间存储内存储的数据混乱。
305、基于预设鉴权算法对密钥管理服务进行鉴权,得到第一密钥对应的密钥ID;
306、根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;
307、通过目标密钥对对象数据进行数据加密,得到目标对象数据;
308、将目标对象数据存储于预设私密存储空间。
本实施例中步骤305-308与第一实施例中的步骤101-106类似,此处不再赘述。
本发明实施例中,通过基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建密钥;接收数据加密请求,基于数据加密请求构建私密存储空间;基于预设鉴权算法对密钥管理服务进行鉴权,得到密钥对应的密钥ID;根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;通过目标密钥对对象数据进行数据加密,得到目标对象数据;将加密对象数据存储于预设私密存储空间。本发明将基于KMS加密技术,使数据以随机密文结合远端密文加密方式进行传输,解决了常见的key泄露、撞库等安全隐患,提高了数据的安全性。
请参阅图4,本发明实施例中数据加密方法的第四个实施例包括:
401、接收密钥创建请求,基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;
402、接收数据加密请求,基于数据加密请求构建私密存储空间;
403、基于预设鉴权算法对密钥管理服务进行鉴权,得到第一密钥对应的密钥ID;
404、根据密钥ID在密钥管理服务得到第二密钥,并根据Put请求和第二密钥对应的密钥明文数据生成随机密文数据;
本实施例中,使用加密算法对密钥明文数据进行加密,得到加密后的密文数据,并对所述密文数据进行随机化处理,得到随机密文数据。其中,所述随机化处理的方式采用硬件方式实现时具体为:当需要将所述密文数据存储到X个内存页面时,定义X个原始随机化种子;其中,一个内存页面存储的对应的密文数据称为页面密文数据;对于每一个内存页面,均使用对应的原始随机化种子对所述页面密文数据进行随机化处理,得到X个随机化的页面密文数据;将所述X个随机化的页面密文数据组合在一起,即得到所述随机密文数据。
405、将随机密文数据存储至私密存储空间,并对随机密文数据进行哈希转换;
本实施例中,从随机种子中每次采集数据的起始位置及采集长度都是随机的;
为进一步增强随机性,本发明实施例将每次采集的数据级联成大于明文长度的随机串的步骤之后,还从0、1值随机串多次采集数据,生成不小于明文长度的新0、1值随机串,再利用该新随机串生成明文加密位标识随机串;较优地,从随机串中每次采集数据的起始位置是随机的。
406、将转换后的结果作为加密密钥,对随机密文数据进行加密,得到目标密钥;
本实施例中,使用HASH之后的结果作为目标密钥,对随机密文数据进行加密。具体地,可以将需要加密的信息进行分片,然后使用AES对称加密算法,对分片之后的数据进行加密;其中AES加解密时使用的密钥,为步骤405生成的HASH结果;将所有需要保存的信息分片,然后对分片的信息进行AES对称加密。而AES加密的密码,是根据用户的一些特定的独有信息自动随机生成并经过硬件HASH芯片的HASH处理之后而得到的。其中,这个随机数的生成机制保证了每个客户端生成的随机密钥皆不相同。这个随机编码将保存在客户端,已备下次解密时使用。客户端将根据一定的规则触发,生成新的随机数。HASH过的进行AES加解密的密钥,不会以任何形式保存在客户端,每次需要进行加解密的时候都会临时生成,并在加解密运算之后即时销毁。这样就最大程度的保证了所存储信息的安全性。
本实施例中,KMS会对每次获取的密钥中加入随机扰动因子,每次得到的随机密钥均不一样。这样的好处在于可以避免通过构造特殊数据并重复调用猜解密钥的可能。所以,当我们缓存密钥的时候应该尽量设置较短的过期时间(当前默认5秒),以便长时间不更新密钥导致随机扰动失效。
407、通过目标密钥对对象数据进行数据加密,得到目标对象数据;
408、将目标对象数据存储于预设私密存储空间。
本实施例中步骤401-403、407-408与第一实施例中的步骤101-103、105-106类似,此处不再赘述。
在本发明实施例中,通过基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;接收数据加密请求,基于数据加密请求构建私密存储空间;基于预设鉴权算法对密钥管理服务进行鉴权,得到第一密钥对应的密钥ID;根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;通过目标密钥对对象数据进行数据加密,得到目标对象数据;将加密对象数据存储于预设私密存储空间。本发明将基于KMS加密技术,使数据以随机密文结合远端密文加密方式进行传输,解决了常见的key泄露、撞库等安全隐患,提高了数据的安全性。
请参阅图5,本发明实施例中数据加密方法的第五个实施例包括:
501、接收密钥创建请求,基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;
502、接收数据加密请求,基于数据加密请求构建私密存储空间;
503、基于预设鉴权算法对密钥管理服务进行鉴权,得到第一密钥对应的密钥ID;
504、根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;
505、基于预设数据加密决策网络提取对象数据的数据加密决策特征;
本实施例中,对于对象数据(待加密数据)而言,相关技术在进行加密过程中通常是对全局数据进行加密,而本发明实施例中,会首先基于预先配置的数据加密决策网络提取对象数据(待加密数据)的数据加密决策特征,数据加密决策特征可以作为对对象数据(待加密数据)进行加密的参考依据,例如可以包括权限活动事件数据中目标业务活动隐私节点的加密决策特征区的加密适用方案信息。
506、基于数据加密决策特征,确定对象数据的加密特征分区;
本实施例中,通过确定待加密数据的数据加密决策特征,可以确定所述待加密数据的加密策略和加密特征分区,例如加密策略可以是前述的加密适用方案信息,加密特征分区可以是前述的目标业务活动隐私节点的加密决策特征区,加密策略可以根据待加密数据的数据特征类型进行学习后确定,目标业务活动隐私节点的加密决策特征区可以根据目标业务活动隐私节点的数据特征特性进行学习后确定,进而进行特征区定位后可以获得目标业务活动隐私节点的加密决策特征区。如此,可以按照所述待加密数据的加密策略对所述待加密数据对应的加密特征分区进行数据加密,例如可以采用对称加密方式或者非对称加密方式,从而获得目标加密数据。在此基础上,可以基于所述待加密数据的数据加密决策特征,例如可以基于数据加密决策特征中的加密适用方案信息对应的权限设置方式对所述目标加密数据的权限防护,具体不作详细限定。
507、基于加密密钥和加密特征分区对对象数据进行数据加密,得到目标对象数据;
本实施例中,可以采用对称加密算法,利用加密密钥对步骤101接收到的数据加密请求携带的对象数据加密。所述对称加密算法包括:RC2、RC4、DES(DataEncryptionStandard)、3DES、或AES(Advanced Encryption Standard)算法等。
本实施例中,完成加密操作后,将加密后的数据以及加密所用密钥的密钥标签一并输出,以将这两项信息对应存储于存储设备上。Put请求实现加密后,数据以加密形式存储在osd上,普通的get请求(数据获取请求)传入rgw后,rgw会判断是否携带key_selector(密钥选择器)与key_id(密钥标识符)参数,若未携带或key值不匹配则直接拒绝,故需要先向kms服务端申请key_id附加到请求当中进行get,但这样一来,业务量较大的场景下会给kms服务端带来较大负载,并且每次get都会有额外的请求io,会降低效率,需要设计合适的缓存策略,将key_id缓存到本地
508、将目标对象数据存储于预设私密存储空间。
本实施例中步骤501-504、508与第一实施例中的步骤101-104、106类似,此处不再赘述。
本发明实施例中,通过基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;接收数据加密请求,基于数据加密请求构建私密存储空间;基于预设鉴权算法对密钥管理服务进行鉴权,得到第一密钥对应的密钥ID;根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;通过目标密钥对对象数据进行数据加密,得到目标对象数据;将加密对象数据存储于预设私密存储空间。本发明将基于KMS加密技术,使数据以随机密文结合远端密文加密方式进行传输,解决了常见的key泄露、撞库等安全隐患,提高了数据的安全性。
上面对本发明实施例中数据加密方法进行了描述,下面对本发明实施例中数据加密装置进行描述,请参阅图6,本发明实施例中数据加密装置的第一个实施例包括:
创建模块601,用于接收密钥创建请求,基于所述密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;
构建模块602,接收数据加密请求,基于所述数据加密请求构建私密存储空间,其中,所述数据加密请求包括Put请求和对象数据,所述对象数据为待加密数据;
鉴权模块603,用于基于预设鉴权算法对所述密钥管理服务进行鉴权,得到所述第一密钥对应的密钥ID;
生成模块604,用于根据所述密钥ID和所述Put请求随机生成随机密文数据,并对所述随机密文数据进行哈希转换,得到目标密钥;
加密模块605,用于通过所述目标密钥对所述对象数据进行数据加密,得到目标对象数据;
存储模块606,用于将所述目标对象数据存储于所述私密存储空间。
本发明实施例中,通过基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;接收数据加密请求,基于数据加密请求构建私密存储空间;基于预设鉴权算法对密钥管理服务进行鉴权,得到第一密钥对应的密钥ID;根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;通过目标密钥对对象数据进行数据加密,得到目标对象数据;将加密对象数据存储于预设私密存储空间。本发明将基于KMS加密技术,使数据以随机密文结合远端密文加密方式进行传输,解决了常见的key泄露、撞库等安全隐患,提高了数据的安全性。
请参阅图7,本发明实施例中数据加密装置的第二个实施例,该数据加密装置具体包括:
创建模块601,用于接收密钥创建请求,基于所述密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;
构建模块602,接收数据加密请求,基于所述数据加密请求构建私密存储空间,其中,所述数据加密请求包括Put请求和对象数据,所述对象数据为待加密数据;
鉴权模块603,用于基于预设鉴权算法对所述密钥管理服务进行鉴权,得到所述第一密钥对应的密钥ID;
生成模块604,用于根据所述密钥ID和所述Put请求随机生成随机密文数据,并对所述随机密文数据进行哈希转换,得到目标密钥;
加密模块605,用于通过所述目标密钥对所述对象数据进行数据加密,得到目标对象数据;
存储模块606,用于将所述目标对象数据存储于所述私密存储空间。
在本实施例中,所述数据加密装置还包括:
获取模块607,用于获取密钥创建参数,其中,所述密钥创建参数中携带初始unique值;
更新模块608,用于基于预设防攻击数据对所述初始unique值进行更新,得到目标unique值,并根据更新后的密钥创建参数生成密钥。
在本实施例中,所述创建模块601具体用于:
生成包括目标公钥和目标私钥的非对称密钥对;
接收密钥创建请求,基于所述目标公钥和预设密钥创建参数,通过预设的密钥生成算法在密钥管理服务中创建第一密钥。
在本实施例中,所述构建模块602具体用于:
基于所述数据加密请求,确定待构建的私密存储空间存储数据的属性;
构建所述属性对应的私密存储空间。
在本实施例中,所述生成模块604具体用于:
根据所述密钥ID在所述密钥管理服务得到第二密钥,并根据所述Put请求和所述第二密钥对应的密钥明文数据生成随机密文数据;
将所述随机密文数据存储至所述私密存储空间,并对所述随机密文数据进行哈希转换;
将转换后的结果作为加密密钥,对所述随机密文数据进行加密,得到目标密钥。
在本实施例中,所述加密模块605包括:
提取单元6051,用于基于预设数据加密决策网络提取所述对象数据的数据加密决策特征;
确定单元6052,用于基于所述数据加密决策特征,确定所述对象数据的加密特征分区;
加密单元6053,用于基于所述加密密钥和所述加密特征分区对所述对象数据进行数据加密,得到目标对象数据。
本发明实施例中,通过基于密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥;接收数据加密请求,基于数据加密请求构建私密存储空间;基于预设鉴权算法对密钥管理服务进行鉴权,得到第一密钥对应的密钥ID;根据密钥ID和Put请求随机生成随机密文数据,并对随机密文数据进行哈希转换,得到目标密钥;通过目标密钥对对象数据进行数据加密,得到目标对象数据;将加密对象数据存储于预设私密存储空间。本发明将基于KMS加密技术,使数据以随机密文结合远端密文加密方式进行传输,解决了常见的key泄露、撞库等安全隐患,提高了数据的安全性。
上面图6和图7从模块化功能实体的角度对本发明实施例中的数据加密装置进行详细描述,下面从硬件处理的角度对本发明实施例中数据加密设备进行详细描述。
图8是本发明实施例提供的数据加密设备的结构示意图,该数据加密设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据加密设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在数据加密设备800上执行存储介质830中的一系列指令操作,以实现上述各方法实施例提供的数据加密方法的步骤。
数据加密设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图8示出的数据加密设备结构并不构成对本申请提供的数据加密设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述数据加密方法的步骤。
所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据加密方法,其特征在于,所述数据加密方法包括:
接收密钥创建请求,基于所述密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥,其中,密钥创建请求中包括用户信息;
检索私密存储空间是否存在具有相同用户信息的数据属性;
若是,则对已存在的私密存储空间进行存储量的扩充;
若否,则接收数据加密请求,基于所述数据加密请求构建私密存储空间,其中,所述数据加密请求包括Put请求和对象数据,所述对象数据为待加密数据;
基于预设鉴权算法对所述密钥管理服务进行鉴权,得到所述第一密钥对应的密钥ID;
根据所述密钥ID和所述Put请求随机生成随机密文数据,并对所述随机密文数据进行哈希转换,得到目标密钥;
通过所述目标密钥对所述对象数据进行数据加密,得到目标对象数据;
将所述目标对象数据存储于对应于所述数据属性的所述私密存储空间。
2.根据权利要求1所述的数据加密方法,其特征在于,在所述接收密钥创建请求,基于所述密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥之前,还包括:
获取密钥创建参数,其中,所述密钥创建参数中携带初始unique值;
基于预设防攻击数据对所述初始unique值进行更新,得到目标unique值,并根据更新后的密钥创建参数生成密钥。
3.根据权利要求1所述的数据加密方法,其特征在于,所述接收密钥创建请求,基于所述密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥包括:
生成包括目标公钥和目标私钥的非对称密钥对;
接收密钥创建请求,基于所述目标公钥和预设密钥创建参数,通过预设的密钥生成算法在密钥管理服务中创建第一密钥。
4.根据权利要求1所述的数据加密方法,其特征在于,所述接收数据加密请求,基于所述数据加密请求构建私密存储空间包括:
基于所述数据加密请求,确定待构建的私密存储空间存储数据的属性;
构建所述属性对应的私密存储空间。
5.根据权利要求1所述的数据加密方法,其特征在于,所述根据所述密钥ID和所述Put请求随机生成随机密文数据,并对所述随机密文数据进行哈希转换,得到目标密钥包括:
根据所述密钥ID在所述密钥管理服务得到第二密钥,并根据所述Put请求和所述第二密钥对应的密钥明文数据生成随机密文数据;
将所述随机密文数据存储至所述私密存储空间,并对所述随机密文数据进行哈希转换;
将转换后的结果作为加密密钥,对所述随机密文数据进行加密,得到目标密钥。
6.根据权利要求5所述的数据加密方法,其特征在于,所述通过所述目标密钥对所述对象数据进行数据加密,得到目标对象数据包括:
基于预设数据加密决策网络提取所述对象数据的数据加密决策特征;
基于所述数据加密决策特征,确定所述对象数据的加密特征分区;
基于所述加密密钥和所述加密特征分区对所述对象数据进行数据加密,得到目标对象数据。
7.一种数据加密装置,其特征在于,所述数据加密装置包括:
创建模块,用于接收密钥创建请求,基于所述密钥创建请求和预设密钥创建参数,在密钥管理服务中创建第一密钥,其中,密钥创建请求中包括用户信息;检索私密存储空间是否存在具有相同用户信息的数据属性;若是,则对已存在的私密存储空间进行存储量的扩充;
构建模块,若否,则接收数据加密请求,基于所述数据加密请求构建私密存储空间,其中,所述数据加密请求包括Put请求和对象数据,所述对象数据为待加密数据;
鉴权模块,用于基于预设鉴权算法对所述密钥管理服务进行鉴权,得到所述第一密钥对应的密钥ID;
生成模块,用于根据所述密钥ID和所述Put请求随机生成随机密文数据,并对所述随机密文数据进行哈希转换,得到目标密钥;
加密模块,用于通过所述目标密钥对所述对象数据进行数据加密,得到目标对象数据;
存储模块,用于将所述目标对象数据存储于对应于所述数据属性的所述私密存储空间。
8.根据权利要求7所述的数据加密装置,其特征在于,所述数据加密装置还包括:
获取模块,用于获取密钥创建参数,其中,所述密钥创建参数中携带初始unique值;
更新模块,用于基于预设防攻击数据对所述初始unique值进行更新,得到目标unique值,并根据更新后的密钥创建参数生成密钥。
9.一种数据加密设备,其特征在于,所述数据加密设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据加密设备执行如权利要求1-6中任一项所述的数据加密方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的数据加密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111538029.1A CN114244508B (zh) | 2021-12-15 | 2021-12-15 | 数据加密方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111538029.1A CN114244508B (zh) | 2021-12-15 | 2021-12-15 | 数据加密方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114244508A CN114244508A (zh) | 2022-03-25 |
CN114244508B true CN114244508B (zh) | 2023-07-28 |
Family
ID=80756543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111538029.1A Active CN114244508B (zh) | 2021-12-15 | 2021-12-15 | 数据加密方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114244508B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710693A (zh) * | 2022-05-25 | 2022-07-05 | 广州万协通信息技术有限公司 | 一种视频流分布式传输方法及装置 |
CN115225352B (zh) * | 2022-06-30 | 2024-04-23 | 厦门职行力信息科技有限公司 | 混合加密方法及系统 |
CN116805913B (zh) * | 2023-08-23 | 2023-11-07 | 成都凌亚科技有限公司 | 一种军用的高安全加密通信装置及其通信方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858431A (zh) * | 2019-01-28 | 2019-06-07 | 深圳市力川智控科技有限公司 | 基于虹膜识别技术创建分区和加/解密的方法及系统 |
CN110443056A (zh) * | 2019-08-08 | 2019-11-12 | 深圳市泰衡诺科技有限公司 | 数据加密方法、终端及计算机可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108123800B (zh) * | 2017-12-19 | 2021-06-15 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置、计算机设备及存储介质 |
CN109474423B (zh) * | 2018-12-10 | 2022-10-21 | 平安科技(深圳)有限公司 | 数据加解密方法、服务器及存储介质 |
CN111327616A (zh) * | 2020-02-25 | 2020-06-23 | 上海东普信息科技有限公司 | 密钥管理方法、装置、设备及计算机可读存储介质 |
CN111737736A (zh) * | 2020-06-10 | 2020-10-02 | 苏州浪潮智能科技有限公司 | 一种创建并管理加密区的方法、系统、设备及介质 |
CN112367169B (zh) * | 2020-11-11 | 2022-11-29 | 平安科技(深圳)有限公司 | 数据加解密方法、装置、设备及存储介质 |
CN113364760A (zh) * | 2021-06-01 | 2021-09-07 | 平安科技(深圳)有限公司 | 一种数据加密处理方法、装置、计算机设备及存储介质 |
-
2021
- 2021-12-15 CN CN202111538029.1A patent/CN114244508B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858431A (zh) * | 2019-01-28 | 2019-06-07 | 深圳市力川智控科技有限公司 | 基于虹膜识别技术创建分区和加/解密的方法及系统 |
CN110443056A (zh) * | 2019-08-08 | 2019-11-12 | 深圳市泰衡诺科技有限公司 | 数据加密方法、终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114244508A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11647007B2 (en) | Systems and methods for smartkey information management | |
JP6625211B2 (ja) | 部分的に信頼できる第三者機関を通しての鍵交換 | |
US7688975B2 (en) | Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure | |
RU2718689C2 (ru) | Управление конфиденциальной связью | |
EP2020797B1 (en) | Client-server Opaque token passing apparatus and method | |
US20190205540A1 (en) | Host attestation | |
US6154543A (en) | Public key cryptosystem with roaming user capability | |
US8825999B2 (en) | Extending encrypting web service | |
US9852300B2 (en) | Secure audit logging | |
CN114244508B (zh) | 数据加密方法、装置、设备及存储介质 | |
CN109981255B (zh) | 密钥池的更新方法和系统 | |
US8924725B2 (en) | Authenticated file handles for network file systems | |
CN106936579A (zh) | 基于可信第三方代理的云存储数据存储及读取方法 | |
US20060053288A1 (en) | Interface method and device for the on-line exchange of content data in a secure manner | |
EP4203377A1 (en) | Service registration method and device | |
CN114553566B (zh) | 数据加密方法、装置、设备及存储介质 | |
RU2707398C1 (ru) | Способ и система защищенного хранения информации в файловых хранилищах данных | |
CN113726523B (zh) | 基于Cookie和DR身份密码体制的多重身份认证方法及装置 | |
CN113449345A (zh) | 一种由微处理器实现的用于保护数据的方法及系统 | |
CN115544583A (zh) | 一种服务器密码机的数据处理方法及装置 | |
EA044169B1 (ru) | Способ и система защищенного хранения информации в файловых хранилищах данных | |
em Nuvens | Vitor Hugo Galhardo Moia |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40063358 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |