在 USB 密钥上实施令牌解决方案

在 USB 密钥上实施令牌解决方案

我想为 USB 设备实现一个令牌解决方案。

所以我需要用私钥加密令牌并使用公钥对其进行解密。到目前为止,一切都很好。问题来自于我想在没有安装密钥的情况下访问令牌(在linux或windows下)。我尝试使用标签和 UUID 卷,但字符和编码数量很快就会受到限制,而且格式会根据密钥类型而变化。

你有什么想法?


我需要在已用作存储设备的密钥上实施令牌解决方案。我还需要能够在 Windows 机器上读取令牌。 Ljm Dullaart 解决方案非常好,但仅适用于 Linux。

答案1

在设备上创建您自己的分区。这允许您仍然使用(大部分)设备。

虽然可以做到

echo "$key" > /dev/sde2

分区中最好有一些可识别的领导者。这样,您就可以确定它是真正的关键设备还是只是一个设备。所以,可能是这样的:

cat > /dev/sdg2 <<EOF
some_fixed_string_with_a_lot_of_random_characters
$key
closing
EOF


read -d '' -a x < /dev/sdg2
if [ ${x[0]} = "some_fixed_string_with_a_lot_of_random_characters" ] ; then
    key=${x[1]}
fi

您可能还应该检查分区的大小,以防止read接收太多数据。正如 Ole Tange 所说,允许普通用户写入间歇性块设备

答案2

从字面上阅读你的问题,你可以将密钥存储在块设备上:

echo The Key > /dev/sdf

read thekey < /dev/sdf

但这是假设用户可以读取/写入 USB 设备。这可以通过这样做来完成: 允许普通用户写入间歇性块设备

相关内容