gpt4 book ai didi

security - PowerShell 的 ConvertFrom-SecureString -key 有多安全

转载 作者:行者123 更新时间:2023-12-02 22:41:18 26 4
gpt4 key购买 nike

我有一个模块,其中包含一些字符串和一些应该很难获得但经常更改的私有(private)数据。我需要将此脚本放在可能访问它的各种机器上,以及由不应该拥有用于导出输出的信息的人读取代码的地方。

我真的很担心不时更改的字符串,因此我正在考虑创建一个脚本,提示输入这些值作为安全字符串并使用 key 加密它们并将它们转储到 xml 文件中。然后使用 XML 文件提供字符串。任何从该模块运行需要该数据的命令的人都必须提供 key ,以便可以解密字符串。

这基本上是我期望做的,但我将处理对象

$secure = Read-Host -AsSecureString
$encrypted = ConvertFrom-SecureString -securestring $secure -key somekey
$encrypted | Export-Clixml testing.xml
$imported = Import-Clixml testing.xml
$value = ConvertTo-SecureString -string $imported -key somekey

我知道该字符串将使用 Rijndael 加密算法进行加密,我认为该算法也称为 AES。

如果可以访问脚本,需要多少努力才能破解位于 xml 文件中的加密 key ?

最佳答案

然后加密的 secret 字符串本身是安全的,但它可能无法以这种形式使用。 ConvertTo-SecureString 会将其从加密的标准字符串转换为 SecureString,但为此,您需要 key 。如果您的用户或脚本拥有 key ,那么他们就可以做任何事情。

您甚至可以将 SecureString 传递给您正在使用的任何应用程序,还是需要将其转换回常规字符串?如果 secret 数据在任何时候都是明文形式,那么您的用户就可以看到它。

即使您的应用程序支持 SecureString,您仍然会遇到麻烦,因为 SecureString 很容易破解:

[System.Runtime.InteropServices.Marshal]::PtrToStringAuto(
[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($securestring)
)

用一些 key 加密 secret 数据,但允许低权限用户拥有 key 的方法被破坏了。这相当于“我不想让我的 friend 拿到我家的 key ,所以我会把 key 锁在一个盒子里,然后把盒子的 key 给他。”

关于security - PowerShell 的 ConvertFrom-SecureString -key 有多安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12520006/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com