当前位置: 首页 > news >正文

电子商务网站建设 上海商标设计在线生成器

电子商务网站建设 上海,商标设计在线生成器,浙江信息港官网,外贸网站建设青岛基于openGauss5.0.0全密态数据库等值查询小案例 一、全密态数据库简介二、环境说明三、测试步骤四、使用约束 一、全密态数据库简介 价值体现#xff1a; 密态数据库意在解决数据全生命周期的隐私保护问题#xff0c;使得系统无论在何种业务场景和环境下#xff0c;数据在传… 基于openGauss5.0.0全密态数据库等值查询小案例 一、全密态数据库简介二、环境说明三、测试步骤四、使用约束 一、全密态数据库简介 价值体现 密态数据库意在解决数据全生命周期的隐私保护问题使得系统无论在何种业务场景和环境下数据在传输、运算以及存储的各个环节始终都处于密文状态。当数据拥有者在客户端完成数据加密并发送给服务端后在攻击者借助系统脆弱点窃取用户数据的状态下仍然无法获得有效的价值信息从而起到保护数据隐私的作用。 2. 特性介绍 从用户视角来看整个密态等值查询的主要功能分为三部分主要通过新增的KeyTool工具以及openGauss的增强gsql客户端来实现。 首先是客户端密钥管理功能用户借助新增的KeyTool工具来实现CMK的生成、销毁和更新同时支持密钥导入导出。通过该KeyTool工具的导入导出功能CMK可以在不同的客户端间进行传输同时KeyTool实现了单个客户端侧的密钥管理通过配置管理文件可以对密钥的存储、更新进行管理。 其次该特性提供密钥创建功能和加密表创建功能通过新增SQL语法“CREATE CLINET MASTER KEY”和“CREATE COLUMN ENCRYPTION KEY”实现在数据库侧记录和管理CMK和CEK元信息CMK和CEK信息被记录在新增的系统表中。通过扩展“CREATE TABLE”语法为表的每一个敏感信息列指定列加密密钥和加密算法方便后续数据密文存储。 最后该特性对用户提供密态等值查询能力该部分功能是整个特性的核心虽然用户对整个密文查询无感知但是在指定数据的加密信息后针对该敏感数据的查询将受限于当前密态等值查询的支持规格。 从整体视角来看该特性所实现的功能主要是为了用户基于敏感数据保护的诉求来存储管理数据并基于密文数据信息实现查询任务。 二、环境说明 虚拟机virtualbox操作系统openEuler 20.03 TLS SP1数据库openGauss 5.0.0 单节点部署 三、测试步骤 #mermaid-svg-dTorPvVZUrjPW0fQ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-dTorPvVZUrjPW0fQ .error-icon{fill:#552222;}#mermaid-svg-dTorPvVZUrjPW0fQ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-dTorPvVZUrjPW0fQ .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-dTorPvVZUrjPW0fQ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-dTorPvVZUrjPW0fQ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-dTorPvVZUrjPW0fQ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-dTorPvVZUrjPW0fQ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-dTorPvVZUrjPW0fQ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-dTorPvVZUrjPW0fQ .marker.cross{stroke:#333333;}#mermaid-svg-dTorPvVZUrjPW0fQ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-dTorPvVZUrjPW0fQ .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-dTorPvVZUrjPW0fQ .cluster-label text{fill:#333;}#mermaid-svg-dTorPvVZUrjPW0fQ .cluster-label span{color:#333;}#mermaid-svg-dTorPvVZUrjPW0fQ .label text,#mermaid-svg-dTorPvVZUrjPW0fQ span{fill:#333;color:#333;}#mermaid-svg-dTorPvVZUrjPW0fQ .node rect,#mermaid-svg-dTorPvVZUrjPW0fQ .node circle,#mermaid-svg-dTorPvVZUrjPW0fQ .node ellipse,#mermaid-svg-dTorPvVZUrjPW0fQ .node polygon,#mermaid-svg-dTorPvVZUrjPW0fQ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-dTorPvVZUrjPW0fQ .node .label{text-align:center;}#mermaid-svg-dTorPvVZUrjPW0fQ .node.clickable{cursor:pointer;}#mermaid-svg-dTorPvVZUrjPW0fQ .arrowheadPath{fill:#333333;}#mermaid-svg-dTorPvVZUrjPW0fQ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-dTorPvVZUrjPW0fQ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-dTorPvVZUrjPW0fQ .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-dTorPvVZUrjPW0fQ .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-dTorPvVZUrjPW0fQ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-dTorPvVZUrjPW0fQ .cluster text{fill:#333;}#mermaid-svg-dTorPvVZUrjPW0fQ .cluster span{color:#333;}#mermaid-svg-dTorPvVZUrjPW0fQ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-dTorPvVZUrjPW0fQ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 1. 创建密钥 2. 创建加密表 3. 全密态等值查询 创建密钥 创建密钥前需要规划好本地密钥存储路径且须保证数据库用户如omm具有操作该路径的权限。本案例路径为/opt/software/openGauss且该路径目录及文件所属组为omm:dbgrp将该路径下配置到数据库用户下的环境变量配置文件中如omm用户下的~/.bashrc echo export LOCALKMS_FILE_PATH/opt/software/openGauss ~/.bashrc环境变量生效source ~/.bashrc以gsql全密态方式登录数据库-C表示开启密态开关gsql -d postgres -p 15432 -r -C创建密钥 密钥包括CMK和CEK。CMK是主密钥用于加密CEK而CEK是数据密钥用于加密数据。CEK的创建要依赖于CMK因此要先创建CMK再创建CEK。重要说明当前KEY_STORE仅支持localkmsALGORITHM 支持RSA_2048、RSA3072和SM2由于SM2、SM3、SM4等算法属于中国国家密码标准算法为规避法律风险需配套使用。如果创建CMK时指定SM4算法来加密CEK则创建CEK时必须指定SM4_SM3算法来加密数据。CREATE CLIENT MASTER KEY ImgCMK WITH (KEY_STORE localkms, KEY_PATH key_path_value, ALGORITHM RSA_2048); CREATE COLUMN ENCRYPTION KEY ImgCEK WITH VALUES (CLIENT_MASTER_KEY ImgCMK, ALGORITHM AEAD_AES_256_CBC_HMAC_SHA256);命令执行成功后会在本地生成密钥文件如下所示 查看系统表检查是否有密钥信息openGauss# SELECT * FROM gs_client_global_keys;global_key_name | key_namespace | key_owner | key_acl | create_date --------------------------------------------------------------------------------imgcmk | 2200 | 10 | | 2023-12-26 09:32:26.048963 (1 row)openGauss# SELECT column_key_name,column_key_distributed_id ,global_key_id,key_owner FROM gs_column_keys;column_key_name | column_key_distributed_id | global_key_id | key_owner ----------------------------------------------------------------------imgcek | 3618369306 | 33446 | 10 (1 row)创建加密表 创建加密表CREATE TABLE creditcard_info (id_number int, name text encrypted with (column_encryption_key ImgCEK, encryption_type DETERMINISTIC),credit_card varchar(19) encrypted with (column_encryption_key ImgCEK, encryption_type DETERMINISTIC));查看表结构openGauss# \d creditcard_info;Table public.creditcard_infoColumn | Type | Modifiers | Storage | Stats target | Description ---------------------------------------------------------------------------------id_number | integer | | plain | |name | text | encrypted | extended | |credit_card | character varying | encrypted | extended | | Has OIDs: no Options: orientationrow, compressionno插入表数据INSERT INTO creditcard_info VALUES(1,joe,6217986500001288393),(2, joy,6219985678349800033);全密态等值查询 第一种查询方式开启密态开关进行查看 gsql登录数据库查看如下全以正常明文显示结果且支撑在加密列上进行等值查询。[ommopenEuler02 openGauss]$ gsql -d postgres -p 15432 -r -C openGauss# select * from public.creditcard_info;id_number | name | credit_card --------------------------------------1 | joe | 62179865000012883932 | joy | 6219985678349800033 (2 rows)openGauss# select * from public.creditcard_info where name joe;id_number | name | credit_card --------------------------------------1 | joe | 6217986500001288393 (1 row)openGauss# select * from public.creditcard_info where name joy;id_number | name | credit_card --------------------------------------2 | joy | 6219985678349800033 (1 row)第二种查询方式关闭密态开关进行查看结果如下加密列全部以密文方式呈现。且无法使用加密列作为等值查询的列或条件。[ommopenEuler02 openGauss]$ gsql -p 15432 -d postgres -r gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:09:38 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type help for help.openGauss# \dList of relationsSchema | Name | Type | Owner | Storage -------------------------------------------------------------------------public | creditcard_info | table | omm | {orientationrow,compressionno} (1 row)openGauss# select * from creditcard_info;id_number | name |credit_card -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1 | \x011aefabd7469d77248aa31885878bb77607981efec65eff3271053e44b45d639d8976168a31000000dd1092fa8926f98b29d736c9553472bb821d07b9a6ba5ee5d0439e5e73a8adc9 | \x011aefabd79ce3f9ef953994577ecf46395b118f38d3b70a0e55b2c29d4a7817a15ac70799310000004b7153b0fd01156b87abf1ca3f53632a5810777da8cc1a3143dad27e1962bf6bda021e7bd718b40ddc0b3a9ec1ef260d2 | \x011aefabd72d06b1228a54a522593d47e067ee949b2e0e69e53c25832141bc1e9b44b922533100000095340c76388706c6551fb67972049c2c09c1b50360e0f3b4e19ab29c84d759f3 | \x011aefabd7b54376da6c719bae031a02cb248bccacfc37008f328ad889b6a7e08aa4a766613100000002379e139f7a9cf407f8e4a1b16ae959120491a787c02eba3c9f4394b799c70ac0a4f5debeeb5a7e312c94e4c71bd1cf (2 rows)openGauss# select * from creditcard_info where name joy; ERROR: invalid input syntax for type byteawithoutorderwithequalcol LINE 1: select * from creditcard_info where name joy;^ openGauss# select * from public.creditcard_info where name joe; ERROR: invalid input syntax for type byteawithoutorderwithequalcol LINE 1: select * from public.creditcard_info where name joe;^ openGauss#第三种查询方式新建新用户且授予查看表等权限进行查看 新建普通用户如testuser[ommopenEuler02 openGauss]$ gsql -d postgres -p 15432 -r -C gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:09:38 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type help for help.openGauss# create user testuser password openGauss1234; CREATE ROLE openGauss# grant all privileges on public.creditcard_info to testuser; GRANT使用新用户testuser登录到数据库中执行查询语句具体如下[ommopenEuler02 openGauss]$ gsql -d postgres -p 15432 -U testuser -W openGauss1234 -r -C gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:09:38 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type help for help.openGauss \dList of relationsSchema | Name | Type | Owner | Storage -------------------------------------------------------------------------public | creditcard_info | table | | {orientationrow,compressionno} (1 row)openGauss select * from creditcard_info; ERROR(CLIENT): failed to decrypt column encryption key openGauss select * from creditcard_info where name joe; ERROR: invalid input syntax for type byteawithoutorderwithequalcol LINE 1: select * from creditcard_info where name joe;^ openGauss \d creditcard_infoTable public.creditcard_infoColumn | Type | Modifiers | Storage | Stats target | Description ---------------------------------------------------------------------------------id_number | integer | | plain | |name | text | encrypted | extended | |credit_card | character varying | encrypted | extended | | Has OIDs: no Options: orientationrow, compressionnoopenGauss select id_number from creditcard_info;id_number -----------12 (2 rows)openGauss由此可看出 无论是否打开密态开关都无法查询到加密数据报错如下ERROR(CLIENT): failed to decrypt column encryption key非加密列查询是正常的如id_number列是正常显示 四、使用约束 数据以列级别进行加密而无法按照行级别区分加密策略。 除Rename操作外不支持通过Alter Table语法实现对加密表列的更改包括加密列和非加密列之间的互转换支持添加Add和删除Drop对应的加密列。不支持对加密列设置大部分check限制性语法但是支持check(column is not null)语法。 当support_extended_features off时不支持对加密列使用primary key、unique。当support_extended_features on时仅支持确定性加密列使用primary key、unique。 不支持不同数据类型之间的隐式转换。 不支持不同数据类型密文间的集合操作。 不支持加密列创建范围分区。 加密列仅支持repeat和empty_blob()函数。 当前版本只支持gsql和JDBC部署在linux操作系统客户端暂不支持ODBC等其他客户端实现密态等值查询。 使用JDBC客户端时密态等值查询特性不能与负载均衡或自动选主特性同时开启。 只支持通过客户端执行copy from stdin的方式、\copy命令的方式以及insert into values(…)的方式往密态表中导入数据。 不支持从加密表到文件之间的copy操作。 不支持包括排序、范围查询以及模糊查询等在内的除等值以外的各种密态查询。 支持部分函数存储过程密态语法密态支持函数存储过程具体约束查看《数据库管理》数据安全管理/密态支持函数/存储过程章节。 不支持通过insert into…select…、merge into语法将非加密表数据插入到加密表数据中。 对于处于连接状态的连接请求只有触发更新缓存的操作更改用户、解密加密列失败等和重新建连后才能感知服务端CEK信息变更。 不支持在由随机加密算法加密的列上进行密态等值查询。 对于密态等值查询运算中如果参与比较的两个属性条件采用不同的数据加密密钥返回报错。 密态等值查询不支持时序表、外表不支持ustore存储引擎加密。 对于数据库服务侧配置变更pg_settings系统表、权限、密钥和加密列等信息, 需要重新建立JDBC连接保证配置变更生效。 不支持多条SQL语句一起执行insert into语句多批次执行场景不受此条约束限制。 密态数据库对长度为零的空字符串不进行加密。 确定性加密存在频率攻击的潜在风险不建议在明文频率分布明显的场景下使用。 具体可参考官网全密态等值查询 到此简单的openGauss 5.0.0全密态等值查询到此结束感谢大家查阅希望对你们有所帮助
http://www.ho-use.cn/article/10817846.html

相关文章:

  • 北京网站假设电脑购物网站模板
  • 学习做网站是什么专业西安百度关键词包年
  • 专业营销软件网站建设自己有货源怎么找客户
  • 找效果图的网站哪个好毕业设计网站建设软件项目
  • 番禺制作网站技术海报图片怎么设计制作
  • 中山网站制作工具aspnet网站开发实例项目
  • 手机网站开发模板做影视网站怎么挣钱
  • 如何做网站公证优秀网名
  • 南阳教育论坛网站建设百度手机助手app官方下载
  • 住房和城乡建设部网站倪虹企业网站制作报价
  • 网站开发技术方案模板电商网站运营
  • 网站都需要什么类别电商网站建设方案模板下载
  • 福建省住建厅建设网站大网站开发语言
  • 深圳做网站排名哪家好造价工程师网
  • 龙门城乡规划建设局网站大宗交易网登录
  • 先做网页设计还是先弄网站网站服务器搭建与管理
  • 包装盒在线设计网站宿迁房价最新价格表
  • 简单网站建设视频宁德工程建设监督网站
  • 零售户电商网站订货网址自动搜索关键词软件
  • 网站开发5000wordpress页面显示标签代码
  • 东莞专业网站建设价钱山西软件开发公司排行
  • 绍兴市网站建设discuz 做的网站
  • 公司网站如何制作手机网页视频怎么下载
  • 安徽省建设干部网站文艺风格wordpress主题
  • 新华路网站建设广州seo站内优化
  • 网站建设推广刺盾云手机网站免费模板下载
  • 陕西省住房建设厅官方网站建设部网站技术负责人业绩表
  • 邯郸哪做网站凡客精选带货达人
  • 官方网站建设情况页面跳转请记住新域名
  • 四川住房和建设厅网站wordpress 显示错误