CN112988888A - 密钥管理方法、装置、电子设备及存储介质 - Google Patents

密钥管理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112988888A
CN112988888A CN202110189156.9A CN202110189156A CN112988888A CN 112988888 A CN112988888 A CN 112988888A CN 202110189156 A CN202110189156 A CN 202110189156A CN 112988888 A CN112988888 A CN 112988888A
Authority
CN
China
Prior art keywords
data
key
acquiring
information
field
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
CN202110189156.9A
Other languages
English (en)
Other versions
CN112988888B (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202110189156.9A priority Critical patent/CN112988888B/zh
Publication of CN112988888A publication Critical patent/CN112988888A/zh
Application granted granted Critical
Publication of CN112988888B publication Critical patent/CN112988888B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

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

Abstract

本发明涉及数据安全技术,揭露了一种密钥管理方法,包括:接收客户端的数据加密请求,获取数据字段信息;根据预设的密钥策略生成所述数据字段信息的密钥;将所述密钥保存至预设的数据库中,并利用所述密钥将数据加密加载至数据中心;接收应用客户端的数据访问请求,并判断所述数据访问请求是否有访问权限;当没有访问权限时,返回提示信息;当有访问权限时,从所述数据库中获取密钥,并利用所述密钥从所述数据中心中获取解密数据。此外,本发明还涉及区块链技术,所述密钥可存储于区块链的节点。本发明还提出一种密钥管理装置、电子设备以及计算机可读存储介质。本发明可以提供一种提高灵活性的密钥管理方法。

Description

密钥管理方法、装置、电子设备及存储介质
技术领域
本发明涉及数据安全技术领域,尤其涉及一种密钥管理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着大数据在各个行业的应用越来越广泛,数据安全也越来越受到重视。而在某些特定行业,数据安全管理还要受到行业结构的监管,数据治理必须满足行业法规的标准要求。在数据安全管理中,数据加密提高数据安全性是一个重要手段,而数据加密中又会使用密钥来进行加解密,密钥管理涉及到密钥分配、密钥存储和密钥分发。
传统的密钥管理方法是对于同一来源的数据使用统一的密钥进行加解密,但没有对于针对多个数据来源不同的数据所有者配置不同的数据加解密密钥方法,因此,需要有一种更加灵活的密钥管理方法。
发明内容
本发明提供一种密钥管理方法、装置及计算机可读存储介质,其主要目的在于提供一种提高灵活性的密钥管理方法。
为实现上述目的,本发明提供的一种密钥管理方法,包括:
接收客户端的数据加密请求,并从所述数据加密请求中获取数据字段信息;
根据预设的密钥策略生成所述数据字段信息的密钥;
将所述密钥保存至预设的数据库中,并利用所述密钥将与所述数据字段信息对应的数据加密加载至数据中心;
接收应用客户端的数据访问请求,并判断所述数据访问请求是否有访问权限;
当所述数据访问请求没有访问权限时,返回提示信息;
当所述数据访问请求有访问权限时,从所述数据库中获取与所述数据访问请求对应的加密数据的密钥,并利用所述密钥从所述数据中心中获取解密数据。
可选地,所述根据预设的密钥策略生成所述数据字段信息的密钥,包括:
获取所述数据字段信息中的字段名,得到数据字段集;
对所述数据字段集中的字段名进行敏感性判断生成敏感信息;
根据预设的密钥策略在所述数据字段信息和所述敏感信息中进行选择,得到参数数据;
基于所述参数数据利用预设的密钥分配方法生成密钥。
可选地,所述对所述数据字段集中的字段名进行敏感性判断生成敏感信息,包括:
获取预设的敏感字段类型表;
依次选择所述数据字段集中的一个字段名;
判断所述字段名是否在所述敏感字段类型表中;
若所述字段名在所述敏感字段类型表中,则从所述敏感字段类型表获取对应的敏感类型,得到敏感信息。
可选地,所述根据预设的密钥策略在所述数据字段信息和所述敏感信息中进行选择,得到参数数据,包括:
按照预设的密钥策略中的折中组合策略在所述数据字段信息中选择数据属主,并在所述敏感信息选择敏感类型;
根据所述数据属主获取所述数据属主预设的密码;
将所述密码、所述数据属主和所述敏感类型进行组合,得到参数数据。
可选地,所述利用所述密钥将与所述数据字段信息对应的数据加密加载至数据中心,包括:
从源数据库中获取与所述数据字段信息一致的数据,得到待加密数据;
利用所述密钥中的加密密钥对所述待加密数据进行加密,得到加密数据,并将所述加密数据载入数据中心中。
可选地,所述判断所述数据访问请求是否有访问权限,包括:
从所述数据访问请求中获取字段信息;
根据预设的权限信息表判断所述字段信息中的用户对所述字段信息中的数据表是否具有访问权限;
当预设的权限信息表中与所述用户对应的数据表名中不存在所述字段信息中的数据表时,判定所述数据访问请求没有访问权限;
当预设的权限信息表中与所述用户对应的数据表名中存在所述字段信息中的数据表时,判定所述数据访问请求有访问权限。
可选地,所述当所述数据访问请求有访问权限时,从所述数据库中获取与所述数据访问请求对应的加密数据的密钥,并利用所述密钥从所述数据中心中获取解密数据,包括:
从所述数据访问请求中获取字段信息;
根据预设血缘关系获取与所述字段信息对应的源数据信息;
获取所述源数据信息的敏感类型;
根据所述敏感类型从所述数据库中获取与所述源数据信息对应的密钥;
从所述数据中心中获取与所述字段信息一致的加密数据,利用所述密钥中的解密密钥对所述加密数据进行解密,得到解密数据,并将所述解密数据返回。
为了解决上述问题,本发明还提供一种密钥管理装置,所述装置包括:
数据获取模块,用于接收客户端的数据加密请求,并从所述数据加密请求中获取数据字段信息;
密钥生成模块,用于根据预设的密钥策略生成所述数据字段信息的密钥;
数据加密模块,用于将所述密钥保存至预设的数据库中,并利用所述密钥将与所述数据字段信息对应的数据加密加载至数据中心;
权限判断模块,用于接收应用客户端的数据访问请求,并判断所述数据访问请求是否有访问权限;
提示模块,用于当所述数据访问请求没有访问权限时,返回提示信息;
数据解密模块,用于当所述数据访问请求有访问权限时,从所述数据库中获取与所述数据访问请求对应的加密数据的密钥,并利用所述密钥从所述数据中心中获取解密数据。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的密钥管理方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的密钥管理方法。
本发明实施例根据预设的密钥策略生成数据字段信息的密钥,对于不同的数据字段信息可以使用不同的密钥策略,可以灵活应对各个数据所有者对于各自数据的密钥管理要求;同时,在获取数据对应的密钥前对访问权限进行判断,提高了数据的安全性,对于密钥的使用安全性也具有保障性作用。因此本发明提出的密钥管理方法、装置、电子设备及计算机可读存储介质,可以提供一种提高灵活性的密钥管理方法。
附图说明
图1为本发明一实施例提供的密钥管理方法的流程示意图;
图2为本发明一实施例提供的密钥管理装置的功能模块图;
图3为本发明一实施例提供的实现所述密钥管理方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种密钥管理方法。所述密钥管理方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述密钥管理方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示,为本发明一实施例提供的密钥管理方法的流程示意图。在本实施例中,所述密钥管理方法包括:
S1、接收客户端的数据加密请求,并从所述数据加密请求中获取数据字段信息。
本发明实施例中,所述客户端是密钥管理客户端,可向服务端发送加密请求。所述数据加密请求是用于向服务端请求加密密钥,所述数据加密请求包括数据属主(owner)、源头数据库名(db_name)、模式(schema)、表名(table_name)和字段名(field_name)等数据字段信息。
进一步地,所述数据属主可以是不同层次的业务单位,比如公司、部门等,一般使用数据应用范围内的通用英文名称或缩写。在同个属主下,数据库名不可以重复,即,二元组(owner,db_name)可以唯一标识一个数据库。在同个数据库下,schema不可以重复,即,三元组(owner,db_name,schema)可以唯一标识一个schema。同个schema下,表名不可以重复,即,四元组(owner,db_name,schema,table_name)可以唯一标识一个表。同一个表下,字段不可以重复,即,五元组(owner,db_name,schema,table_name,field_name)可以唯一标识一个字段。
S2、根据预设的密钥策略生成所述数据字段信息的密钥。
详细地,所述根据预设的密钥策略生成所述数据字段信息的密钥,包括:
获取所述数据字段信息中的字段名,得到数据字段集;
对所述数据字段集中的字段名进行敏感性判断生成敏感信息;
根据预设的密钥策略在所述数据字段信息和所述敏感信息中进行选择,得到参数数据;
基于所述参数数据利用预设的密钥分配方法生成密钥。
进一步地,所述对所述数据字段集中的字段名进行敏感性判断生成敏感信息,包括:
获取预设的敏感字段类型表;
依次选择所述数据字段集中的一个字段名;
判断所述字段名是否在所述敏感字段类型表中;
若所述字段名在所述敏感字段类型表中,则从所述敏感字段类型表获取对应的敏感类型,得到敏感信息。
其中,所述敏感信息包括数据是否敏感(isSecret)以及敏感类型(secret_type)。敏感类型是对于敏感字段的分类,如姓名、身份证号码、地址、电话号码、银行账号等。
本发明实例中所述预设的密钥策略将密码与数据属主、数据库名、模式、表名、字段名、敏感类型等字段进行组合的策略,用于生产密钥。其中,所述密码是数据所有者,即数据属者对属于自己的字段预先设置的密码。
所述密钥策略包括多种组合策略,如,密码加数据属主、密码加数据属主加数据库名,密码加数据属主加数据库名加模式,密码加数据属主加敏感类型等。不同的组合生成的密钥作用范围不同,配置工作量也不同。在实际应用中,需要加密的字段一般为敏感信息,如身份证号码、银行账号等,本发明实施例中所述密钥策略采用密码加数据属主加敏感类型的组合策略,表示同个组织机构下,数据加解密的密钥,只区分字段的敏感类型,不区分库、schema、表。这个折中的组合策略,兼顾了配置工作量和密钥作用范围。
进一步地,所述根据预设的密钥策略在所述数据字段信息和所述敏感信息中进行选择,得到参数数据,包括:
按照预设的密钥策略中的折中组合策略在所述数据字段信息中选择数据属主,并在所述敏感信息选择敏感类型;
根据所述数据属主获取所述数据属主预设的密码;
将所述密码、所述数据属主和所述敏感类型进行组合,得到参数数据。
进一步地,所述基于所述参数数据利用预设的密钥分配方法生成密钥,包括:
获取预设的密钥分配方法;
以所述参数数据作为所述密钥分配方法的参数并执行所述密钥分配方法,生成密钥。
其中,所述预设的密钥分配方法是预先写在服务器中的函数,用于根据参数生成密钥,参数一样,得到的密钥也会一样。
S3、将所述密钥保存至预设的数据库中,并利用所述密钥将与所述数据字段信息对应的数据加密加载至数据中心。
本发明实施例将所述密钥与对应的数据信息一起保存至预设的数据库中。进一步地,为了强调所述密钥的私密性和安全性,所述密钥还可以存储于一区块的节点中。
详细地,所述利用所述密钥将与所述数据字段信息对应的数据加密加载至数据中心,包括:
从源数据库中获取与所述数据字段信息一致的数据,得到待加密数据;
利用所述密钥中的加密密钥对所述待加密数据进行加密,得到加密数据,并将所述加密数据载入数据中心中。
可选地,本发明实施例在将所述加密数据导入数据中心中时,保存的表名可能会发生变化,因此还会将所述加密数据在源数据库与数据中心的映射关系,称为血缘关系,进行保存。
S4、接收应用客户端的数据访问请求,并判断所述数据访问请求是否有访问权限。
本发明实施例中所述应用客户端是实际需要访问数据的应用端。所述数据访问请求是应用客户端在所述数据中心查询数据时,向服务端请求密钥进行解密的请求。所述数据访问请求数据属主,数据库名,模式,数据表,字段和用户等字段信息。
详细地,所述判断所述数据访问请求是否有访问权限,包括:
从所述数据访问请求中获取字段信息;
根据预设的权限信息表判断所述字段信息中的用户对所述字段信息中的数据表是否具有访问权限;
当预设的权限信息表中与所述用户对应的数据表名中不存在所述字段信息中的数据表时,判定所述数据访问请求没有访问权限;
当预设的权限信息表中与所述用户对应的数据表名中存在所述字段信息中的数据表时,判定所述数据访问请求有访问权限。
其中,所述预设的权限信息表是指用户是否有权限访问数据的信息,包括用户和用户具有权限的数据表名。
S5、当所述数据访问请求没有访问权限时,返回提示信息。
详细地,当所述数据访问请求没有访问权限时,表示当前用户对数据没有控制权限,不返回数据,返回用户无权限查看数据的提示信息。
S6、当所述数据访问请求有访问权限时,从所述数据库中获取与所述数据访问请求对应的加密数据的密钥,并利用所述密钥从所述数据中心中获取解密数据。
详细地,所述S6,包括:
从所述数据访问请求中获取字段信息;
根据预设血缘关系获取与所述字段信息对应的源数据信息;
获取所述源数据信息的敏感类型;
根据所述敏感类型从所述数据库中获取与所述源数据信息对应的密钥;
从所述数据中心中获取与所述字段信息一致的加密数据,利用所述密钥中的解密密钥对所述加密数据进行解密,得到解密数据,并将所述解密数据返回。
本发明实施例用于管理数据中心的数据加解密密钥,可以灵活应对各个数据所有者对于各自数据的密钥管理要求。
本发明实施例根据预设的密钥策略生成数据字段信息的密钥,对于不同的数据字段信息可以使用不同的密钥策略,可以灵活应对各个数据所有者对于各自数据的密钥管理要求;同时,在获取数据对应的密钥前对访问权限进行判断,提高了数据的安全性,对于密钥的使用安全性也具有保障性作用。因此本发明提出的密钥管理方法、装置、电子设备及计算机可读存储介质,可以提供一种提高灵活性的密钥管理方法。
如图2所示,是本发明一实施例提供的密钥管理装置的功能模块图。
本发明所述密钥管理装置100可以安装于电子设备中。根据实现的功能,所述密钥管理装置100可以包括数据获取模块块101、密钥生成模块102、数据加密模块103、权限判断模块104、提示模块105和数据解密模块106。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述数据获取模块101,用于接收客户端的数据加密请求,并从所述数据加密请求中获取数据字段信息。
本发明实施例中,所述客户端是密钥管理客户端,可向服务端发送加密请求。所述数据加密请求是用于向服务端请求加密密钥,所述数据加密请求包括数据属主(owner)、源头数据库名(db_name)、模式(schema)、表名(table_name)和字段名(field_name)等数据字段信息。
进一步地,所述数据属主可以是不同层次的业务单位,比如公司、部门等,一般使用数据应用范围内的通用英文名称或缩写。在同个属主下,数据库名不可以重复,即,二元组(owner,db_name)可以唯一标识一个数据库。在同个数据库下,schema不可以重复,即,三元组(owner,db_name,schema)可以唯一标识一个schema。同个schema下,表名不可以重复,即,四元组(owner,db_name,schema,table_name)可以唯一标识一个表。同一个表下,字段不可以重复,即,五元组(owner,db_name,schema,table_name,field_name)可以唯一标识一个字段。
所述密钥生成模块102,用于根据预设的密钥策略生成所述数据字段信息的密钥。
详细地,所述密钥生成模块102具体用于:
获取所述数据字段信息中的字段名,得到数据字段集;
对所述数据字段集中的字段名进行敏感性判断生成敏感信息;
根据预设的密钥策略在所述数据字段信息和所述敏感信息中进行选择,得到参数数据;
基于所述参数数据利用预设的密钥分配方法生成密钥。
进一步地,所述对所述数据字段集中的字段名进行敏感性判断生成敏感信息,包括:
获取预设的敏感字段类型表;
依次选择所述数据字段集中的一个字段名;
判断所述字段名是否在所述敏感字段类型表中;
若所述字段名在所述敏感字段类型表中,则从所述敏感字段类型表获取对应的敏感类型,得到敏感信息。
其中,所述敏感信息包括数据是否敏感(isSecret)以及敏感类型(secret_type)。敏感类型是对于敏感字段的分类,如姓名、身份证号码、地址、电话号码、银行账号等。
本发明实例中所述预设的密钥策略将密码与数据属主、数据库名、模式、表名、字段名、敏感类型等字段进行组合的策略,用于生产密钥。其中,所述密码是数据所有者,即数据属者对属于自己的字段预先设置的密码。
所述密钥策略包括多种组合策略,如,密码加数据属主、密码加数据属主加数据库名,密码加数据属主加数据库名加模式,密码加数据属主加敏感类型等。不同的组合生成的密钥作用范围不同,配置工作量也不同。在实际应用中,需要加密的字段一般为敏感信息,如身份证号码、银行账号等,本发明实施例中所述密钥策略采用密码加数据属主加敏感类型的组合策略,表示同个组织机构下,数据加解密的密钥,只区分字段的敏感类型,不区分库、schema、表。这个折中的组合策略,兼顾了配置工作量和密钥作用范围。
进一步地,所述根据预设的密钥策略在所述数据字段信息和所述敏感信息中进行选择,得到参数数据,包括:
按照预设的密钥策略中的折中组合策略在所述数据字段信息中选择数据属主,并在所述敏感信息选择敏感类型;
根据所述数据属主获取所述数据属主预设的密码;
将所述密码、所述数据属主和所述敏感类型进行组合,得到参数数据。
进一步地,所述基于所述参数数据利用预设的密钥分配方法生成密钥,包括:
获取预设的密钥分配方法;
以所述参数数据作为所述密钥分配方法的参数并执行所述密钥分配方法,生成密钥。
其中,所述预设的密钥分配方法是预先写在服务器中的函数,用于根据参数生成密钥,参数一样,得到的密钥也会一样。
所述数据加密模块103,用于将所述密钥保存至预设的数据库中,并利用所述密钥将与所述数据字段信息对应的数据加密加载至数据中心。
本发明实施例将所述密钥与对应的数据信息一起保存至预设的数据库中。进一步地,为了强调所述密钥的私密性和安全性,所述密钥还可以存储于一区块的节点中。
详细地,所述数据加密模块103具体用于:
从源数据库中获取与所述数据字段信息一致的数据,得到待加密数据;
利用所述密钥中的加密密钥对所述待加密数据进行加密,得到加密数据,并将所述加密数据载入数据中心中。
可选地,本发明实施例在将所述加密数据导入数据中心中时,保存的表名可能会发生变化,因此还会将所述加密数据在源数据库与数据中心的映射关系,称为血缘关系,进行保存。
所述权限判断模块104,用于接收应用客户端的数据访问请求,并判断所述数据访问请求是否有访问权限。
本发明实施例中所述应用客户端是实际需要访问数据的应用端。所述数据访问请求是应用客户端在所述数据中心查询数据时,向服务端请求密钥进行解密的请求。所述数据访问请求数据属主,数据库名,模式,数据表,字段和用户等字段信息。
详细地,所述权限判断模块104具体用于:
从所述数据访问请求中获取字段信息;
根据预设的权限信息表判断所述字段信息中的用户对所述字段信息中的数据表是否具有访问权限;
当预设的权限信息表中与所述用户对应的数据表名中不存在所述字段信息中的数据表时,判定所述数据访问请求没有访问权限;
当预设的权限信息表中与所述用户对应的数据表名中存在所述字段信息中的数据表时,判定所述数据访问请求有访问权限。
其中,所述预设的权限信息表是指用户是否有权限访问数据的信息,包括用户和用户具有权限的数据表名。
所述提示模块105,用于当所述数据访问请求没有访问权限时,返回提示信息。
详细地,当所述数据访问请求没有访问权限时,表示当前用户对数据没有控制权限,不返回数据,返回用户无权限查看数据的提示信息。
所述数据解密模块106,用于当所述数据访问请求有访问权限时,从所述数据库中获取与所述数据访问请求对应的加密数据的密钥,并利用所述密钥从所述数据中心中获取解密数据。
详细地,所述数据解密模块106具体用于:
从所述数据访问请求中获取字段信息;
根据预设血缘关系获取与所述字段信息对应的源数据信息;
获取所述源数据信息的敏感类型;
根据所述敏感类型从所述数据库中获取与所述源数据信息对应的密钥;
从所述数据中心中获取与所述字段信息一致的加密数据,利用所述密钥中的解密密钥对所述加密数据进行解密,得到解密数据,并将所述解密数据返回。
本发明实施例用于管理数据中心的数据加解密密钥,可以灵活应对各个数据所有者对于各自数据的密钥管理要求。
如图3所示,是本发明一实施例提供的实现密钥管理方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如密钥管理程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如密钥管理程序12的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如密钥管理程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的密钥管理程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
接收客户端的数据加密请求,并从所述数据加密请求中获取数据字段信息;
根据预设的密钥策略生成所述数据字段信息的密钥;
将所述密钥保存至预设的数据库中,并利用所述密钥将与所述数据字段信息对应的数据加密加载至数据中心;
接收应用客户端的数据访问请求,并判断所述数据访问请求是否有访问权限;
当所述数据访问请求没有访问权限时,返回提示信息;
当所述数据访问请求有访问权限时,从所述数据库中获取与所述数据访问请求对应的加密数据的密钥,并利用所述密钥从所述数据中心中获取解密数据。
具体地,所述处理器10对上述指令的具体实现方法可参考图1至图3对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
接收客户端的数据加密请求,并从所述数据加密请求中获取数据字段信息;
根据预设的密钥策略生成所述数据字段信息的密钥;
将所述密钥保存至预设的数据库中,并利用所述密钥将与所述数据字段信息对应的数据加密加载至数据中心;
接收应用客户端的数据访问请求,并判断所述数据访问请求是否有访问权限;
当所述数据访问请求没有访问权限时,返回提示信息;
当所述数据访问请求有访问权限时,从所述数据库中获取与所述数据访问请求对应的加密数据的密钥,并利用所述密钥从所述数据中心中获取解密数据。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种密钥管理方法,其特征在于,所述方法包括:
接收客户端的数据加密请求,并从所述数据加密请求中获取数据字段信息;
根据预设的密钥策略生成所述数据字段信息的密钥;
将所述密钥保存至预设的数据库中,并利用所述密钥将与所述数据字段信息对应的数据加密加载至数据中心;
接收应用客户端的数据访问请求,并判断所述数据访问请求是否有访问权限;
当所述数据访问请求没有访问权限时,返回提示信息;
当所述数据访问请求有访问权限时,从所述数据库中获取与所述数据访问请求对应的加密数据的密钥,并利用所述密钥从所述数据中心中获取解密数据。
2.如权利要求1所述的密钥管理方法,其特征在于,所述根据预设的密钥策略生成所述数据字段信息的密钥,包括:
获取所述数据字段信息中的字段名,得到数据字段集;
对所述数据字段集中的字段名进行敏感性判断生成敏感信息;
根据预设的密钥策略在所述数据字段信息和所述敏感信息中进行选择,得到参数数据;
基于所述参数数据利用预设的密钥分配方法生成密钥。
3.如权利要求2所述的密钥管理方法,其特征在于,所述对所述数据字段集中的字段名进行敏感性判断生成敏感信息,包括:
获取预设的敏感字段类型表;
依次选择所述数据字段集中的一个字段名;
判断所述字段名是否在所述敏感字段类型表中;
若所述字段名在所述敏感字段类型表中,则从所述敏感字段类型表获取对应的敏感类型,得到敏感信息。
4.如权利要求2所述的密钥管理方法,其特征在于,所述根据预设的密钥策略在所述数据字段信息和所述敏感信息中进行选择,得到参数数据,包括:
按照预设的密钥策略中的折中组合策略在所述数据字段信息中选择数据属主,并在所述敏感信息选择敏感类型;
根据所述数据属主获取所述数据属主预设的密码;
将所述密码、所述数据属主和所述敏感类型进行组合,得到参数数据。
5.如权利要求1所述的密钥管理方法,其特征在于,所述利用所述密钥将与所述数据字段信息对应的数据加密加载至数据中心,包括:
从源数据库中获取与所述数据字段信息一致的数据,得到待加密数据;
利用所述密钥中的加密密钥对所述待加密数据进行加密,得到加密数据,并将所述加密数据载入数据中心中。
6.如权利要求1所述的密钥管理方法,其特征在于,所述判断所述数据访问请求是否有访问权限,包括:
从所述数据访问请求中获取字段信息;
根据预设的权限信息表判断所述字段信息中的用户对所述字段信息中的数据表是否具有访问权限;
当预设的权限信息表中与所述用户对应的数据表名中不存在所述字段信息中的数据表时,判定所述数据访问请求没有访问权限;
当预设的权限信息表中与所述用户对应的数据表名中存在所述字段信息中的数据表时,判定所述数据访问请求有访问权限。
7.如权利要求1所述的密钥管理方法,其特征在于,所述当所述数据访问请求有访问权限时,从所述数据库中获取与所述数据访问请求对应的加密数据的密钥,并利用所述密钥从所述数据中心中获取解密数据,包括:
从所述数据访问请求中获取字段信息;
根据预设血缘关系获取与所述字段信息对应的源数据信息;
获取所述源数据信息的敏感类型;
根据所述敏感类型从所述数据库中获取与所述源数据信息对应的密钥;
从所述数据中心中获取与所述字段信息一致的加密数据,利用所述密钥中的解密密钥对所述加密数据进行解密,得到解密数据,并将所述解密数据返回。
8.一种密钥管理装置,其特征在于,所述装置包括:
数据获取模块,用于接收客户端的数据加密请求,并从所述数据加密请求中获取数据字段信息;
密钥生成模块,用于根据预设的密钥策略生成所述数据字段信息的密钥;
数据加密模块,用于将所述密钥保存至预设的数据库中,并利用所述密钥将与所述数据字段信息对应的数据加密加载至数据中心;
权限判断模块,用于接收应用客户端的数据访问请求,并判断所述数据访问请求是否有访问权限;
提示模块,用于当所述数据访问请求没有访问权限时,返回提示信息;
数据解密模块,用于当所述数据访问请求有访问权限时,从所述数据库中获取与所述数据访问请求对应的加密数据的密钥,并利用所述密钥从所述数据中心中获取解密数据。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的密钥管理方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的密钥管理方法。
CN202110189156.9A 2021-02-19 2021-02-19 密钥管理方法、装置、电子设备及存储介质 Active CN112988888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110189156.9A CN112988888B (zh) 2021-02-19 2021-02-19 密钥管理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110189156.9A CN112988888B (zh) 2021-02-19 2021-02-19 密钥管理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112988888A true CN112988888A (zh) 2021-06-18
CN112988888B CN112988888B (zh) 2024-05-07

Family

ID=76393452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110189156.9A Active CN112988888B (zh) 2021-02-19 2021-02-19 密钥管理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112988888B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760063A (zh) * 2022-03-18 2022-07-15 百安居信息技术(上海)有限公司 家装留资数据处理方法、系统、存储介质及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050099751A (ko) * 2004-04-12 2005-10-17 주식회사 비티웍스 데이터베이스 보안 시스템 및 방법
CN101504706A (zh) * 2009-03-03 2009-08-12 中国科学院软件研究所 数据库信息加密方法和系统
US20140181514A1 (en) * 2012-12-25 2014-06-26 Hitachi Solutions, Ltd. Encryption key management program, data management system
US9646172B1 (en) * 2016-11-15 2017-05-09 Envieta Systems LLC Data storage system for securely storing data records
CN106650482A (zh) * 2015-11-04 2017-05-10 阿里巴巴集团控股有限公司 电子文件加密解密方法、装置和系统
CN110489996A (zh) * 2019-07-31 2019-11-22 山东三未信安信息科技有限公司 一种数据库数据安全管理方法及系统
CN111740826A (zh) * 2020-07-20 2020-10-02 腾讯科技(深圳)有限公司 基于加密代理网关的加密方法、解密方法、装置及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050099751A (ko) * 2004-04-12 2005-10-17 주식회사 비티웍스 데이터베이스 보안 시스템 및 방법
CN101504706A (zh) * 2009-03-03 2009-08-12 中国科学院软件研究所 数据库信息加密方法和系统
US20140181514A1 (en) * 2012-12-25 2014-06-26 Hitachi Solutions, Ltd. Encryption key management program, data management system
CN106650482A (zh) * 2015-11-04 2017-05-10 阿里巴巴集团控股有限公司 电子文件加密解密方法、装置和系统
US9646172B1 (en) * 2016-11-15 2017-05-09 Envieta Systems LLC Data storage system for securely storing data records
CN110489996A (zh) * 2019-07-31 2019-11-22 山东三未信安信息科技有限公司 一种数据库数据安全管理方法及系统
CN111740826A (zh) * 2020-07-20 2020-10-02 腾讯科技(深圳)有限公司 基于加密代理网关的加密方法、解密方法、装置及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760063A (zh) * 2022-03-18 2022-07-15 百安居信息技术(上海)有限公司 家装留资数据处理方法、系统、存储介质及设备

Also Published As

Publication number Publication date
CN112988888B (zh) 2024-05-07

Similar Documents

Publication Publication Date Title
CN112104627B (zh) 基于区块链的数据传输方法、装置、电子设备及存储介质
CN113055380B (zh) 报文处理方法、装置、电子设备及介质
CN112651035A (zh) 数据处理方法、装置、电子设备及介质
CN111695097A (zh) 登录检验方法、装置及计算机可读存储介质
CN114389889B (zh) 基于区块链技术的文件全生命周期管理方法及装置
CN111914029A (zh) 基于区块链的医疗数据调用方法、装置、电子设备及介质
CN113112252B (zh) 基于区块链的资源转移方法、装置、电子设备及存储介质
CN112217642A (zh) 数据的加密共享方法、装置、电子设备及计算机存储介质
CN113420049A (zh) 数据流通方法、装置、电子设备及存储介质
CN113158207A (zh) 基于区块链的报告生成方法、装置、电子设备及存储介质
CN113127915A (zh) 数据加密脱敏方法、装置、电子设备及存储介质
CN113221154A (zh) 服务密码获取方法、装置、电子设备及存储介质
CN112217639B (zh) 数据的加密共享方法、装置、电子设备及计算机存储介质
CN113382017B (zh) 基于白名单的权限控制方法、装置、电子设备及存储介质
CN114417374A (zh) 基于区块链的智能合约名片方法、装置、设备及存储介质
CN112988888B (zh) 密钥管理方法、装置、电子设备及存储介质
CN113162763A (zh) 数据加密及存储方法、装置、电子设备及存储介质
CN114697132B (zh) 重复访问请求攻击拦截方法、装置、设备及存储介质
CN114826725B (zh) 数据交互方法、装置、设备及存储介质
CN114826736A (zh) 信息共享方法、装置、设备及存储介质
CN112257078B (zh) 一种基于tee技术的区块链加解密服务安全可信系统
CN114897624A (zh) 保单数据合并方法、装置、设备及存储介质
CN113342867A (zh) 数据分发及管理方法、装置、电子设备及可读存储介质
CN112487400A (zh) 基于多页面的单点登录方法、装置、电子设备及存储介质
CN112540839A (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