CN113656811A - 一种基于内存的动态密钥数据加密的方法 - Google Patents

一种基于内存的动态密钥数据加密的方法 Download PDF

Info

Publication number
CN113656811A
CN113656811A CN202110822633.0A CN202110822633A CN113656811A CN 113656811 A CN113656811 A CN 113656811A CN 202110822633 A CN202110822633 A CN 202110822633A CN 113656811 A CN113656811 A CN 113656811A
Authority
CN
China
Prior art keywords
key
user
encryption
data
generating
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.)
Pending
Application number
CN202110822633.0A
Other languages
English (en)
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 Sinobase Technology Development Co ltd
Original Assignee
Beijing Sinobase Technology Development 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 Sinobase Technology Development Co ltd filed Critical Beijing Sinobase Technology Development Co ltd
Priority to CN202110822633.0A priority Critical patent/CN113656811A/zh
Publication of CN113656811A publication Critical patent/CN113656811A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于内存的动态密钥数据加密的方法,加密系统包括数据库服务器,加密方法包括以下步骤:获取用户数据的用户密钥及用户码;根据所述用户码生成授权密钥;根据所述用户密钥生成加密密钥,并产生密钥补码;根据所述加密密钥和所述授权密钥生成最终的数据密钥;使用所述最终的数据密钥对用户的数据进行加密并保存。本发明属于数据加密技术领域,具体是提供了一种加密密钥由客户密钥和授权密钥两部分组成,安全级别高,客户密码可以存在补码和客户密钥两部分,通过计算得到加密密钥,能够保证数据对于客户端和开发端的所有人员,得到完整密钥的难度大大增加,让数据更加安全的基于内存的动态密钥数据加密的方法。

Description

一种基于内存的动态密钥数据加密的方法
技术领域
本发明属于数据加密技术领域,具体是指基于内存的动态密钥数据加密的方法。
背景技术
现有的应用层加密技术是通过加密api对敏感数据进行加密,并将加密后的数据存储到数据库。当数据检索时,将密文数据取回客户端,再进行解密,应用系统需要自行管理密钥体系。
现有的应用层加密技术的主要有以下缺点:(1)密钥管理系统简单,密钥容易泄漏;(2)密码由开发者掌控或者容易取得,有非常大的数据泄露风险;(3)更改密码困难,代价很大。
发明内容
针对上述情况,为克服现有技术的缺陷,本发明提供了一种加密密钥由客户密钥和授权密钥两部分组成,安全级别高,客户密码可以存在补码和客户密钥两部分,通过计算得到加密密钥,能够保证数据对于客户端和开发端的所有人员,得到完整密钥的难度大大增加,让数据更加安全的基于内存的动态密钥数据加密的方法。
本发明采取的技术方案如下:本发明基于内存的动态密钥数据加密的方法,包括以下步骤:
步骤S1:获取用户数据的用户密钥及用户码;
步骤S2:根据所述用户码生成授权密钥;
步骤S3:根据所述用户密钥生成加密密钥,并产生密钥补码;
步骤S4:根据所述加密密钥和所述授权密钥生成最终的数据密钥;
步骤S5:使用所述最终的数据密钥对用户的数据进行加密并保存。
进一步地,所述基于内存的动态密钥数据加密的方法,包括加密系统,所述加密系统包括数据库服务器,所述数据库服务器用于获取客户授权文件,得到授权用户码,且用于验证用户码是否合法,如果是,则使用用户码生产授权密钥,如果否,则确定不合法异常,结束;使用用户码生成授权密钥之后,还包括取得加密版本,判断是否要求用户密钥,如果是,则取得用户密钥,如果否,则使用授权密钥加密数据;取得用户密钥后,使用哈希hash算法生成加密密钥并产生密钥补码;使用结合算法整合加密密钥和授权密钥生成最终的数据密钥。
进一步地,所述数据库服务器包括落盘加密页面、用户管理服务单元、关系型数据库管理系统mysql、微服务单元、配置中心服务单元和存储容器,用户通过落盘加密页面登录,并向用户管理服务单元输入加密密钥信息,所述关系型数据库管理系统mysql、配置中心服务单元与用户管理服务单元连接,且所述用户管理服务单元用于保存密钥相关信息,所述配置中心服务单元用于内存中保存密钥和生成密钥文件,用户通过微服务单元导入数据、查询数据,所述微服务单元向配置中心服务单元请求密钥,所述微服务单元通过存储容器使用密钥加密保存。
进一步地,所述步骤S3中可以使用加密算法对用户密钥进行加密得到加密密钥;加密算法可以采用哈希算法;值得强调的是,步骤S2和步骤S3的先后顺序可以随意进行,本申请不进行限定。
进一步地,所述步骤S5中最终的数据密钥包括了用户密钥和授权密钥两部分,其中,所述用户密钥是用户自己设定的,黑客或者开发者如果想要盗取密钥,必须获得两种密钥,提高了密钥的安全性,并且也使得用户可以参与到密钥的设计中来,用户可以变换自己想要的密钥,还可以选择自己想要加密的字段,提高了用户的参与性和主动性。
进一步地,为了确定用户是否合法,在一种实施方式中,获取用户的用户码后,包括:判断所述用户码与预先存储的用户码是否相同;如果否,则确定所述用户非法;如果是,则根据所述用户码生成授权密钥。
进一步地,预先判断用户是否合法,如果用户非法,则不生成密钥,只对合法的用户生成密钥。避免了非法用户使用该非法生成密钥。
本方案基于内存的动态密钥数据加密的方法,取得的有益效果如下:
1、解决了现在的应用层的密钥都是由开发人员掌控或动态生成,开发人员得到数据后可以容易的进行解密,得到用户的真实数据;此方案的密钥由两部分组成,只有两部分都凑齐后才能解密,密钥分别由用户自己和对用户的授权组成,使用户对于数据的安全和防泄漏更多了信心,加密密钥不再有单方面掌握,让客户更有参与感和掌控感。
2、加密密钥的生成方式导致,服务商和客户单方面都无法取得最终的密钥,安全性大大提高,客户对于服务商更有信心。
3、加密密钥使用补码的方式能大大的减少,由于密钥的频繁变更导致的额外开销。
附图说明
图1为本发明基于内存的动态密钥数据加密的方法的工作流程图;
图2为本发明基于内存的动态密钥数据加密的方法的落盘加密在软件系统中的工作流程图;
图3为本发明基于内存的动态密钥数据加密的方法的落盘加密的工作时序图;
图4为本发明基于内存的动态密钥数据加密的方法的密钥修改过程的示意图。
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1-4所示,本发明基于内存的动态密钥数据加密的方法,包括以下步骤:
步骤S1:获取用户数据的用户密钥及用户码;
步骤S2:根据所述用户码生成授权密钥;
步骤S3:根据所述用户密钥生成加密密钥,并产生密钥补码;
步骤S4:根据所述加密密钥和所述授权密钥生成最终的数据密钥;
步骤S5:使用所述最终的数据密钥对用户的数据进行加密并保存。
其中,所述基于内存的动态密钥数据加密的方法,包括加密系统,所述加密系统包括数据库服务器,所述数据库服务器用于获取客户授权文件,得到授权用户码,且用于验证用户码是否合法,如果是,则使用用户码生产授权密钥,如果否,则确定不合法异常,结束;使用用户码生成授权密钥之后,还包括取得加密版本,判断是否要求用户密钥,如果是,则取得用户密钥,如果否,则使用授权密钥加密数据;取得用户密钥后,使用哈希hash算法生成加密密钥并产生密钥补码;使用结合算法整合加密密钥和授权密钥生成最终的数据密钥。
其中,所述数据库服务器包括落盘加密页面、用户管理服务单元、关系型数据库管理系统mysql、微服务单元、配置中心服务单元和存储容器,用户通过落盘加密页面登录,并向用户管理服务单元输入加密密钥信息,所述关系型数据库管理系统mysql、配置中心服务单元与用户管理服务单元连接,且所述用户管理服务单元用于保存密钥相关信息,所述配置中心服务单元用于内存中保存密钥和生成密钥文件,用户通过微服务单元导入数据、查询数据,所述微服务单元向配置中心服务单元请求密钥,所述微服务单元通过存储容器使用密钥加密保存。
本发明还公开了基于内存的动态密钥数据加密的方法的使用方法,包括
其中,所述步骤S3中可以使用加密算法对用户密钥进行加密得到加密密钥;加密算法可以采用哈希算法;值得强调的是,步骤S2和步骤S3的先后顺序可以随意进行,本申请不进行限定。
所述步骤S5中最终的数据密钥包括了用户密钥和授权密钥两部分,其中,所述用户密钥是用户自己设定的,黑客或者开发者如果想要盗取密钥,必须获得两种密钥,提高了密钥的安全性,并且也使得用户可以参与到密钥的设计中来,用户可以变换自己想要的密钥,还可以选择自己想要加密的字段,提高了用户的参与性和主动性。
为了确定用户是否合法,在一种实施方式中,获取用户的用户码后,包括:判断所述用户码与预先存储的用户码是否相同;如果否,则确定所述用户非法;如果是,则根据所述用户码生成授权密钥。
预先判断用户是否合法,如果用户非法,则不生成密钥,只对合法的用户生成密钥。避免了非法用户使用该非法生成密钥。
现在的应用层的密钥都是由开发人员掌控或动态生成,开发人员得到数据后可以容易的进行解密,得到用户的真实数据。而本申请的密钥由两部分组成,包括用户密钥和授权密钥;只有两部分都凑齐后才能解密,密钥分别由用户自己和对用户的授权方组成,使用户对于数据的安全和防泄漏更多了信心。用户密钥提供是否持久化和非持久化的选择,为客户的不同场景实现密钥安全。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
以上对本发明及其实施方式进行了描述,这种描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。总而言之如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。

Claims (7)

1.基于内存的动态密钥数据加密的方法,其特征在于,包括以下步骤:
步骤S1:获取用户数据的用户密钥及用户码;
步骤S2:根据所述用户码生成授权密钥;
步骤S3:根据所述用户密钥生成加密密钥,并产生密钥补码;
步骤S4:根据所述加密密钥和所述授权密钥生成最终的数据密钥;
步骤S5:使用所述最终的数据密钥对用户的数据进行加密并保存。
2.根据权利要求1所述的基于内存的动态密钥数据加密的方法,其特征在于:包括加密系统,所述加密系统包括数据库服务器,所述数据库服务器用于获取客户授权文件,得到授权用户码,且用于验证用户码是否合法,如果是,则使用用户码生产授权密钥,如果否,则确定不合法异常,结束;使用用户码生成授权密钥之后,还包括取得加密版本,判断是否要求用户密钥,如果是,则取得用户密钥,如果否,则使用授权密钥加密数据;取得用户密钥后,使用哈希hash算法生成加密密钥并产生密钥补码;使用结合算法整合加密密钥和授权密钥生成最终的数据密钥。
3.根据权利要求2所述的基于内存的动态密钥数据加密的方法,其特征在于:所述数据库服务器包括落盘加密页面、用户管理服务单元、关系型数据库管理系统mysql、微服务单元、配置中心服务单元和存储容器,用户通过落盘加密页面登录,并向用户管理服务单元输入加密密钥信息,所述关系型数据库管理系统mysql、配置中心服务单元与用户管理服务单元连接,且所述用户管理服务单元用于保存密钥相关信息,所述配置中心服务单元用于内存中保存密钥和生成密钥文件,用户通过微服务单元导入数据、查询数据,所述微服务单元向配置中心服务单元请求密钥,所述微服务单元通过存储容器使用密钥加密保存。
4.根据权利要求1所述的基于内存的动态密钥数据加密的方法,其特征在于:所述步骤S3中可以使用加密算法对用户密钥进行加密得到加密密钥;加密算法可以采用哈希算法。
5.根据权利要求1所述的基于内存的动态密钥数据加密的方法,其特征在于:所述步骤S5中最终的数据密钥包括了用户密钥和授权密钥两部分,所述用户密钥是用户自己设定的。
6.根据权利要求1所述的基于内存的动态密钥数据加密的方法,其特征在于:获取用户的用户码后,包括:判断所述用户码与预先存储的用户码是否相同;如果否,则确定所述用户非法;如果是,则根据所述用户码生成授权密钥。
7.根据权利要求1所述的基于内存的动态密钥数据加密的方法,其特征在于:预先判断用户是否合法,如果用户非法,则不生成密钥,只对合法的用户生成密钥。
CN202110822633.0A 2021-07-21 2021-07-21 一种基于内存的动态密钥数据加密的方法 Pending CN113656811A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110822633.0A CN113656811A (zh) 2021-07-21 2021-07-21 一种基于内存的动态密钥数据加密的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110822633.0A CN113656811A (zh) 2021-07-21 2021-07-21 一种基于内存的动态密钥数据加密的方法

Publications (1)

Publication Number Publication Date
CN113656811A true CN113656811A (zh) 2021-11-16

Family

ID=78489644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110822633.0A Pending CN113656811A (zh) 2021-07-21 2021-07-21 一种基于内存的动态密钥数据加密的方法

Country Status (1)

Country Link
CN (1) CN113656811A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035410B1 (en) * 1999-03-01 2006-04-25 At&T Corp. Method and apparatus for enhanced security in a broadband telephony network
CN110830252A (zh) * 2019-11-25 2020-02-21 北京优奥创思科技发展有限公司 数据加密的方法、装置、设备和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035410B1 (en) * 1999-03-01 2006-04-25 At&T Corp. Method and apparatus for enhanced security in a broadband telephony network
CN110830252A (zh) * 2019-11-25 2020-02-21 北京优奥创思科技发展有限公司 数据加密的方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
US9646161B2 (en) Relational database fingerprinting method and system
US7877604B2 (en) Proof of execution using random function
CN110222531B (zh) 一种访问数据库的方法、系统及设备
US20130166909A1 (en) Client-Side Player File and Content License Verification
US8977857B1 (en) System and method for granting access to protected information on a remote server
US20220417241A1 (en) Methods, Systems, and Devices for Server Control of Client Authorization Proof of Possession
US11757877B1 (en) Decentralized application authentication
CN113395406B (zh) 一种基于电力设备指纹的加密认证方法及系统
DK2414983T3 (en) Secure computer system
CN111639357B (zh) 一种加密网盘系统及其认证方法和装置
CN107040520A (zh) 一种云计算数据共享系统及方法
CN112487450A (zh) 一种文件服务器访问分级方法
CN111031352B (zh) 音视频加密方法、安全处理方法、装置及存储介质
CN105518696B (zh) 对数据存储器执行操作
CN110807210B (zh) 一种信息处理方法、平台、系统及计算机存储介质
CN113656811A (zh) 一种基于内存的动态密钥数据加密的方法
CN110830252B (zh) 数据加密的方法、装置、设备和存储介质
CN108345801B (zh) 一种面向密文数据库的中间件动态用户认证方法及系统
CN112787821A (zh) 非对称加密Token验证方法、服务器、客户端及系统
CN112769560B (zh) 一种密钥管理方法和相关装置
CN117061248B (zh) 一种用于数据共享的数据安全保护方法和装置
CN113271306B (zh) 数据请求、发送方法、设备以及系统
JP6165044B2 (ja) 利用者認証装置、システム、方法及びプログラム
CN116248372A (zh) 一种基于Web内容加密的防Cache篡改方法
Patil et al. Secured Certificate Based Authentication

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20211116