首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >管理密钥的好方法?

问管理密钥的好方法?
EN

Stack Overflow用户
提问于 2010-07-23 14:35:08
回答 4查看 139关注 0票数 2

管理与特定源代码相关的密钥的规范方法是什么?(例如,与特定程序强关联的SSH或RSA密钥对)。

由于显而易见的原因,我不愿意将其签入到版本控制中,但我也不希望它们只驻留在少数人的本地硬盘上。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-07-23 14:41:06

您可以将它们加密放入版本控制中,并且只让少数人知道密码。这样做的好处是它们与代码一起存储,并且您可以轻松地更新它们,但是这些文件对攻击者是无用的(如果您使用强密码)。

票数 2
EN

Stack Overflow用户

发布于 2010-07-23 14:38:21

工业实力最强的答案是使用高速缓存( Hardware Security Module )。

稍微不那么花哨的答案是在公司安全地保存一份印刷和/或电子副本。

票数 1
EN

Stack Overflow用户

发布于 2010-07-26 07:25:35

这是一个非常好的问题,而且没有绝对正确的答案。

要问自己的问题:

1)密钥公知的影响是什么

2)公司的信任度是多少

3)对于工程师来说,能够生成发布版本有多重要

我多年来使用的想法包括:

存储在源代码管理存储库中,但具有受限的“secure_group”访问权限

优点

减少了

  • 密钥扩散
  • 访问权限由

管理员控制

缺点

  • Release build仅限于对安全组成员具有secure permissions
  • Requires隐式信任的用户

build system Standard build注入的密钥包含虚拟密钥。

发布构建是由构建服务器生成的,它替换或注入生产密钥

优点

  • 构建代码时工程师没有瓶颈
  • 密钥管理仅限于构建服务器+管理员

缺点

  • 所有数据/系统都必须支持虚拟密钥
  • 构建服务器成为瓶颈/任务关键型组件

自定义DRM包

使用会话生成的对称密钥创建您自己的密钥包,即RSA加密头,以加密密钥数据。DRM方法还允许您执行诸如设置包过期时间或最大使用次数之类的操作

优点

可以封装

  • 密钥
  • 密钥可以安全地分发
  • 审核跟踪,因为密钥包是通过公共/私有密钥对

按需为每个用户生成的

缺点

  • 许多自定义代码
  • 所有构建系统都需要重新设计以读取密钥包数据-密钥包需要库/API来提取,因此工程师仍然可以读取关键数据

还有其他选项,如安全加密服务器或两次身份验证网站来检索密钥数据。

在我的经验中,没有完美的解决方案,尽管我非常有兴趣听取社区的建议或意见

希望这能有所帮助

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

https://stackoverflow.com/questions/3315829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档