# 关于加密(了解加密类型和权衡,为您的用例选择最佳选项) **Published by:** [honey](https://paragraph.com/@duoergun/) **Published on:** 2024-04-08 **URL:** https://paragraph.com/@duoergun/9ze2dNohB7qNPk5aCkAV ## Content 使用加密和解密APISpace and Time 通过我们的加密 API对您的数据进行透明的数据库内加密。本指南涵盖了理解和使用 SxT 加密所需的所有信息。运行时注意事项与加密表交互非常简单 - 只需更改用于与非加密表交互的 API 端点即可。虽然普通查询将通过 执行,但要对加密表执行查询,您应该使用。 DML 大致相同 - 只需添加前缀,无需进行其他更改。加密API和非加密API的请求输入完全相同。POST /v1/sql/dqlPOST /v1/encryption/sql/dqlencryption 如果您使用 JDBC 与 SxT 交互,不用担心 - 只要您使用最新的 JDBC 驱动程序,它就会自动为您选择正确的端点。 从授权的角度来看,非加密表也没有区别。如果您可以授权查询请求,则您有权解密表中的所有列。通过饼干授权列级解密已在路线图中 - 请稍后回来查看更多详细信息!🚧未通过加密 API 端点插入的数据将不会被加密。因此,如果您意外插入未加密的数据,您也将无法通过加密的 DQL API 访问该数据。然而,仍然可以从普通的 DQL API 读取它。配置注意事项在表上配置加密也是一个简单的过程,但有一些先决条件需要注意,包括:表必须已存在(即,您必须在一个请求中创建表并在另一请求中对其进行加密)对表应用加密,因此您必须获得对正在配置的表的权限ALTERALTER您无法加密已经加密的表您无法更改加密配置,因此请确保在发送请求之前仔细检查请求任何预先存在的数据都不会自动加密 - 确保在将任何敏感数据添加到表之前配置加密目前,加密表上的联接操作有一些限制,随着时间的推移,这些限制将被消除。现在:两个表必须位于同一架构中两个表必须同时加密(即在同一个配置 API 请求中)您要加入的列必须具有相同的加密类型和加密选项加密类型以及何时使用它们确定性加密 (DET)确定性加密可确保给定的输入值始终产生相同的加密输出值。然而,这使得它更容易受到频率分析攻击。当您希望相同的输入具有相同的加密输出时,例如在比较加密值而无需解密它们时,此方法非常有用。但是,由于它容易受到频率分析的影响,因此不太适合非常敏感的数据。加密类型:没有任何无需任何额外的格式化即可执行加密。**适用范围:**字符串和数字,可以包含特殊字符**建议的数据类型:**字符串喜欢加密数据可使用 SQL LIKE 运算符进行搜索。**适用范围:**字符串和数字,可以包含特殊字符**建议的数据类型:**字符串格式保留加密 (FPE)FPE 保持加密后输入数据的格式。它对于加密需要符合特定格式或模式的数据很有用。建议使用“FPE UNICODE”而不是“FPE ASCII”,因为它支持更大的字符集。 FPE主要用于数据格式很重要并且加密后需要保留的情况。当信用卡号、社会保障号或帐号需要保留其格式时,这尤其有用。加密类型:ASCII码仅加密 ASCII 字符集中的字符。**适用范围:**字符串和数字,不包括特殊字符**建议的数据类型:**字符串EASCII加密数据采用扩展 ASCII 格式。**适用范围:**字符串和数字,不包括特殊字符**建议的数据类型:**字符串扩展字符范围: 'â' ,'ä' ,'à' ,'á' ,'ã' ,'å' ,'ç' ,'ñ' ,'¢' ,'é' ,'ê' ,' ë' ,'è' ,'í' ,'î' ,'ï' ,'ì' ,'ß' ,'Ø' ,'' ,'Ä' ,'À' ,'Á' ,'à' ,'Å' ,'Ç' ,'Ñ' ,'Í' ,'ø' ,'É' ,'Ê' ,'Ë' ,'È' ,'Í' ,'Î' ,'Ï' ,' Ì','Ø','a','b','c','d','e','f','g','h','i','«','»' ,'ð' ,'ý' ,'þ' ,'±' ,'°' ,'j' ,'k' ,'l' ,'m' ,'n' ,'o' ,'p' ,' q'、'r'、'a'、'o'、'æ'、'̧'、'Æ'、'μ'、's'、't'、'u'、'v'、'w' ,'x' ,'y' ,'z' ,'¡' ,'¿' ,'Ð' ,'Ý' ,'Þ' ,'®' ,'·' ,'©' ,'§' ,' ¶' ,'1⁄4' ,'1⁄2' ,'3⁄4' ,' ̄' ,' ̈' ,' ́' ,'×' ,'A' ,'B' ,'C' ,' D' ,'E' ,'F' ,'G' ,'H' ,'I' ,'ô' ,'ö' ,'ò' ,'ó' ,'õ' ,'J' ,'K' ,'L' ,'M' ,'N' ,'O' ,'P' ,'Q' ,'R' ,'1' ,'û' ,'ü' ,'ù' ,'ú' ,' ÿ' ,'÷' ,'S' ,'T' ,'U' ,'V' ,'W' ,'X' ,'Y' ,'Z' ,'2' ,'Ô' ,'Ö' ,'Ò' ,'Ó' ,'Õ' ,'0' ,'1' ,'2' ,'3' ,'4' ,'5' ,'6' ,'7' ,'8' ,' 9'、'3'、'Û'、'Ü'、'Ù'、'Ú'。EBCDIC加密数据采用 EBCDIC 格式,包括 EBCDIC 预定义特殊字符集。任何不属于定义字母表的 EBCDIC 字符都将引发无效输入错误。**适用范围:**字符串和数字,不包括特殊字符**建议的数据类型:**字符串扩展字符范围: ¤!"#$%&'()*+,-./:;<=>?@[]^_ `{|}~£¥€\E{空格}统一码加密数据采用 Unicode 格式。**适用范围:**字符串和数字。**建议的数据类型:**字符串数字加密数据是数字。**适用范围:**仅限数字,不包含特殊字符**建议的数据类型:**数字NUMERIC_NONSTRICT设计用于加密包含数字和非数字字符的字符串,例如可能包含连字符或扩展名的电话号码。加密数据是数字,但不严格强制为纯数字。**适用性:**包含数字和非数字字符的字符串,并且可能包含连字符或扩展名等特殊字符**建议的数据类型:**带有连字符或扩展名的数字数值型加密数据是数字并用零填充左侧。**适用范围:**仅限数字,不包含特殊字符**建议的数据类型:**带有数字的字符串或仅数字FPE_DAY仅加密 YYYY/MM/DD、YYYY-MM-DD 或 YYYYMMDD 格式的日期值。此方法非常适合仅需要对日期中的日值进行加密、保持月份和年份值可见的情况。加密类型:没有任何无需任何额外的格式化即可执行加密。这是 FPE_DAY 的唯一有效类型。**适用性:**仅具有指定格式的数字数据的字符串,包括斜杠和连字符等特殊字符**建议的数据类型:**日期FPE_TOKENFPE 令牌是一种使用格式保留加密 (FPE) 创建加密令牌的特定加密方法。这些令牌保留了数据的原始格式,例如长度和字符集,同时提供了强大的安全性。当您想要用非敏感数据(令牌)替换敏感数据,同时保持原始数据的格式时,此方法非常有用。加密类型:有效的加密类型与 FPE 完全相同,请参考上面的FPE 类型。面具屏蔽是一种用非敏感数据替换敏感数据,同时保持原始数据格式的技术。格式必须为 YYYY/MM/DD、YYYY-MM-DD 或 YYYYMMDD。当需要隐藏数据的某些部分时,通常会使用数据屏蔽。这可以确保敏感数据不会暴露,同时保持数据集的可用性。加密类型:MASK_DAY加密数据用日期值进行掩码。**适用性:**仅限字符串,包括斜杠和连字符等特殊字符建议的数据类型:日期MASK_DAY_RANDOM加密数据用随机日期值进行掩码。**适用性:**仅限字符串,包括斜杠和连字符等特殊字符建议的数据类型:日期MASK_MONTH加密数据用月份值进行掩码。**适用性:**仅限字符串,包括斜杠和连字符等特殊字符建议的数据类型:日期MASK_MONTH_DAY加密数据用月份和日期值进行掩码。**适用性:**仅限字符串,包括斜杠和连字符等特殊字符建议的数据类型:日期MASK_YEAR加密数据用年份值进行掩码。**适用性:**仅限字符串,包括斜杠和连字符等特殊字符建议的数据类型:日期MASK_YEAR_MONTH加密数据用年份和月份值进行掩码。**适用性:**仅限字符串,包括斜杠和连字符等特殊字符建议的数据类型:日期MASK_YEAR_DAY加密数据用年份和日期值进行掩码。**适用性:**仅限字符串,包括斜杠和连字符等特殊字符建议的数据类型:日期MASK_FULL_DATE加密数据用完整日期值进行掩码。**适用性:**仅限字符串,包括斜杠和连字符等特殊字符建议的数据类型:日期OPE(保序加密)OPE 代表顺序保留加密,它保留加密值应实现的顺序。这只适用于整数。在执行需要保留数据顺序的操作(例如范围查询)时,OPE 非常有用。这使得它在范围查询常见的数据库中特别有用。加密类型:没有任何没有其他可用选项。**适用范围:**仅限数字,不包含特殊字符建议的数据类型:数字https://docs.spaceandtime.io/docs/encryption-guide#insmask_full_dateins ## Publication Information - [honey](https://paragraph.com/@duoergun/): Publication homepage - [All Posts](https://paragraph.com/@duoergun/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@duoergun): Subscribe to updates - [Twitter](https://twitter.com/AAA12388321): Follow on Twitter