【问题标题】:Encrypt keystore password in bash scripts在 bash 脚本中加密密钥库密码
【发布时间】:2022-02-06 01:08:05
【问题描述】:

我有一个用例,其中我在 bash 脚本中使用 keytool 命令,其中我以明文格式输入了 Keystore 密码。类似的东西:

test.sh

#!/bin/bash
keytool -keystore <PATH-TO-KEYSTORE> -storepass <CLEARTEXT-PASSWORD> ...

现在的要求是在脚本中加密这个明文密码,这样人们可能不知道实际的 Keystore 密码。我尝试使用 OpenSSL 加密默认密码,将其存储在另一个隐藏文件中,并在运行脚本时随时解密密码,但任何有权访问脚本的人都可以查看正在使用的算法并使用相同的 OpenSSL 命令来解密密码。

我知道 keytool 需要不惜一切代价解密的密码,所以即使密码以任何方式加密,也必须在传递给 keytool 之前解密,我需要知道是否有任何方法可以只允许我的脚本解密密码,而不是任何合法的黑客。

【问题讨论】:

标签: java bash security encryption keytool


【解决方案1】:

除非有某种方法可以让正在运行的脚本获得黑客无法获得的信息,否则这本质上是不可能的。无论您在脚本中添加什么内容,黑客都可以简单地在打开跟踪的情况下运行它,手动模拟脚本,或者简单地执行脚本的操作并找出脚本将产生的结果密钥。

像这样保护密钥需要您拥有一些黑客无法访问的信息存储。这通常采用hardware security module (HSM) 的形式,其接口设置为可以执行必要的操作,但无法从中提取密钥材料。这在您的情况下可能是不可能的或相关的,但您需要一些东西黑客无法访问。

【讨论】:

    猜你喜欢
    • 2019-06-28
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    • 2017-01-27
    相关资源
    最近更新 更多