社区首页 >问答首页 >实现非云应用程序的密钥库和密钥旋转

实现非云应用程序的密钥库和密钥旋转
EN

Security用户
提问于 2020-03-02 11:20:56
回答 1查看 194关注 0票数 1

我有一个用Python编写的桌面应用程序。该应用程序与外部SAP服务连接,并提取数据。到目前为止,有几个连接字符串未经加密存储的配置文件有几个。

我想加密配置文件,这些配置文件在用户登录时应该被解密。我检查了一些像加密-config这样的库,但是我的要求不适合这里。

我的计划如下

  1. 配置文件使用加密密钥:CK加密。
  2. CK以用户密码哈希加密的方式存储在另一台服务器上。
  3. 当用户登录到应用程序时,计算密码散列并将其连接到密钥服务器,解密CK,将其存储在缓存中,解密配置文件。
  4. 从SAP中提取数据

我不知道这种方法有多可靠,但几乎没有什么挑战:

  1. 如果CK是用用户密码Hash加密的,我需要为每个用户保留多个CK副本。
  2. 我想实现关键轮换,在这种情况下,上面共享的问题1将更加棘手。

**编辑**此密钥服务器不专门用于密钥管理。我刚刚将另一个远程服务器命名为密钥服务器,其中密钥要么存储在数据库中,要么存储在文件中。

请给我建议。

EN

回答 1

Security用户

发布于 2020-03-02 13:37:19

问题是对其中一些细节做了错误的假设。例如,它说要计算密码哈希,并且看起来它假设哈希作为加密密钥用于加密/解密密钥服务器上的密钥。但这通常不是关键服务器的工作方式。

密钥服务器有自己的加密机制,并将使用自己的密钥对所有密钥进行加密(通常称为“主密钥”或“密钥加密密钥(KEK)”)。当您用密码连接到密钥服务器时,服务器将验证您的用户名/密码组合。然后,您将请求访问特定的密钥名称或密钥标识,如果您获得授权,它将授予您访问权限。根据服务器的配置和请求,它可能会将密钥导出给您,这样您就可以使用它来加密和解密,或者它可以为您提供加密/解密服务。

密钥服务器的工作是安全地存储密钥,并执行密钥生命周期管理功能(密钥生成、密钥销毁等)。密钥服务器可以提供密钥旋转功能;但是,由于没有密钥旋转或密钥版本控制的加密标准,所以实现将依赖于服务器。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/226695

复制
相关文章
【SAP HANA系列】HANA计算视图中的RANK使用方法
2、当我们必须从源集中的多个记录或前N个或后N个记录中选择最新记录时,这将非常有用。
matinal
2020/11/13
1.6K0
【SAP HANA系列】HANA计算视图中的RANK使用方法
DotNet加密方式解析--散列加密
该文章介绍了在.NET中常用的加密方式,包括对称加密、非对称加密、哈希加密和数字签名。文章还介绍了这些加密方式的.NET实现和用法示例,并提供了总结和注意事项。
彭泽0902
2018/01/04
1.2K0
DotNet加密方式解析--散列加密
HANA计算视图中的RANK使用方法
2、当我们必须从源集中的多个记录或前N个或后N个记录中选择最新记录时,这将非常有用。
matinal
2020/11/27
1.5K0
分离链接的散列散列代码实现
散列 散列为一种用于以常数平均时间执行插入,删除和查找的技术。一般的实现方法是使通过数据的关键字可以计算出该数据所在散列中的位置,类似于Python中的字典。关于散列需要解决以下问题: 散列的关键字如何映射为一个数(索引)——散列函数 当两个关键字的散列函数结果相同时,如何解决——冲突 散列函数 散列函数为关键字->索引的函数,常用的关键字为字符串,则需要一个字符串->整数的映射关系,常见的三种散列函数为: ASCII码累加(简单) 计算前三个字符的加权和$\sum key[i] * 27^{i}$ (不太
月见樽
2018/04/27
1.5K0
散列/散列函数「建议收藏」
每个关键字被映射到从0-TableSize-1这个范围中的某个数,并且被放到适当的单元中。这种映射就叫做散列函数
全栈程序员站长
2022/08/28
8920
散列/散列函数「建议收藏」
散列算法与散列码
一、引入 1 /** 2 * Description:新建一个类作为map的key 3 */ 4 public class Groundhog 5 { 6 protected int number; 7 8 public Groundhog(){ 9 } 10 public Groundhog(int number) 11 { 12 this.number = number; 13 } 14 15 @Overr
JMCui
2018/03/15
1.5K0
散列算法与散列码
散列
将一个元素的关键码和存储位置之间建立对应的函数关系 Hash( ), 使得每个关键码与结构中的唯一的存储位置相对应:
Rikka
2022/02/07
1.8K0
散列
选择键值,冲突的时候采取不同的策略 散列函数: 简单的散列函数: 1 int hash(const string & key,int tableSize) 2 { 3 int hashVal = 0; 4 for(int i = 0; i < key.length();++i) 5 { 6 hashVal + = key[i]; 7 } 8 return hashVal % tableSize; 9 } 比较好的散列函数: 1 int hash( c
用户1154259
2018/01/17
8140
散列查找和哈希查找_散列检索
散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。建立了关键字与存储位置的映射关系,公式如下:
全栈程序员站长
2022/11/15
8990
散列冲突
概念:如果当一个元素被插入时与一个已经插入的元素散列到相同的值, 那么就会产生冲突, 这个冲突需要消除。解决这种冲突的方法有几种:本章介绍两种方法:分离链接法和开放定址法
全栈程序员站长
2022/08/27
5950
Hash散列[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/146553.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/27
6720
散列函数
散列的概念属于查找,它不以关键字的比较为基本操作,采用直接寻址技术。在理想情况下,查找的期望时间为O(1)。
233333
2019/09/24
9200
散列查找
散列同顺序、链接和索引一样,是又一种数据存储方法。散列存储的方法是:以数据集合中的每个元素的关键字k为自变量,通过一种函数h(k)计算出函数值,把这个值用做一块连续存储空间(即数组或文件空间)中的元素存储位置(即下标),将该元素存储到这个下标位置上。散列存储中使用的函数h(k)被称为散列函数或哈希函数,它实现关键字到存储位置(地址)的映射(或称转换),h(k)被称为散列地址或哈希地址;使用的数组或文件空间是对数据集合进行散列存储的地址空间,所以被称为散列表或哈希表。在散列表上进行查找时,首先根据给定的关键字k,用与散列存储时使用的同一散列函数h(k)计算出散列地址,然后按此地址从散列表中取出对应的元素。
全栈程序员站长
2022/08/27
1.2K0
散列查找
【SAP HANA系列】SAP HANA跟我学HANA系列之创建计算视图一
SAP HANA跟我学HANA系列之创建计算视图一正文部分 SAP HANA跟我学HANA系列之创建计算视图一 SAP HANA跟我学HANA系列之创建计算视图一 SAP HANA跟我学HANA系列之创建计算视图一 SAP HANA跟我学HANA系列之创建计算视图一 SAP HANA跟我学HANA系列之创建计算视图一 SAP HANA跟我学HANA系列之创建计算视图一 SAP HANA跟我学HANA系列之创建计算视图一 SAP HANA跟我学HANA系列之创建计算
matinal
2020/11/13
4400
【SAP HANA系列】SAP HANA跟我学HANA系列之创建计算视图一
【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密 | 非对称加密 | 散列函数 )
通过 散列 / 哈希 算法 , 将数据经过运算 , 得到固定长度的 指纹 数据 , 不同的数据得到的指纹数据不同 ;
韩曙亮
2023/03/30
5.3K0
浅谈散列运算
“指纹”一词形象地描述了散列运算的结果。在现实生活中,两个人可能长得很像,但是他们的指纹不同,根据指纹就能对这两个人进行区分。
小蜜蜂
2019/07/24
1.1K0
浅谈散列运算
Hash(散列)冲突解决 线性探测再散列和二次探测再散列
例如  哈希函数为: H(key) =  key %13,key 为关键字,采用开放地址法中的线性探测再散列解决冲突,依次输入
用户2965768
2018/12/28
16.6K0
单向散列函数
如果你需要从国外的网站上下载一个软件,但是因为种种原因,国外的网络太慢了,下载几个G的数据几乎是不可能的。刚好国内有镜像网站,可以从国内下载数据。但是如何保证国内的镜像不是被篡改过后的呢?这个时候就需要单向散列函数了。一般来说网站会提供MD5或者SHA的值作为验证值。
程序那些事
2020/07/08
7940
hash散列 introduction
hash散列是在记录的存储位置与他的关键字之间建立的对应关系f, 使得每个key都对应一个存储位置, 查找时根据key的hash去查找.
CoffeeLand
2020/03/26
5390
查找-散列查找
散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。查找时,根据这个确定的对应关系找到给定值key的映射f(key),若查找集合中存在这个记录,则必定在f(key)的位置上。
全栈程序员站长
2022/08/28
1.4K0
查找-散列查找

相似问题

SAP HANA计算视图中列外的行(脚本/图形)

13

SAP HANA图形计算视图中的不同计数

22

SAP HANA -计算列中的计算

23

SAP HANA计算列异常处理

14

为sap hana上的表列生成散列。

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档