使用Yubikey进行双因素身份验证,使用LUKS进行硬盘加密

使用Yubikey进行双重身份验证,用于使用LUKS进行硬盘加密


由Yubico

yubikey是一个很酷的设备,周围有一段时间,我们几个人知道它,并喜欢它。 它是一种识别为USB HID设备的设备,可以在按钮上发出一次密码。

相当一段时间,yubikey支持挑战响应模式,计算机可以向yubikey发送挑战,yubikey将以响应回答,这是使用HMAC-SHA1计算的。

在这里我将会展示如何使用yubikey来保护您的加密硬盘,从而将双重身份验证添加到您的预引导身份验证中。

用户输入密码,该密码作为挑战发送给yubikey,并且回复该回复。 LUKS密钥槽保存响应,因此在LUKS方面,响应用作槽口密码。

得到它所有togeather

这个解决方案是基于我的github项目yubikey-luks 。 您可以在源文件中获取该项目,也可以在启动平台上使用存储库,在Ubuntu 14.04LTS上传了一个可用的软件包。 该解决方案适用于Ubuntu 14.04,但也可以在其他类似debian的发行版上运行。 我假设你正在运行Ubuntu 14.04。

将存储库添加到系统中:

add-apt-repository ppa:privacyidea/privacyidea

Rrefresh包信息并安装工具:

apt-get update
apt-get install yubikey-luks

注册Yubikey

插入你的yubikey并运行命令:

ykpersonalize -2 -ochal-resp -ochal-hmac -ohmac-lt64 -oserial-api-visible

Yubikey有两个socket。 我们使用socket2,以便您可以使用socket1进行“正常”OTP使用。

添加到LUKS

要将yubikey分配到LUKSsocket,请使用命令yubikey-luks-enroll 。 / usr / bin / yubikey-luks-enroll中的脚本假定您的LUKS分区是/ dev / sda5。 如果是另一个,请将脚本复制到您的目标,并适应行:

DISK="/dev/sda5"

Yubikey响应将写入LUKSsocket7.请确保在其他socket中有一个正常密码availbale。 您可以查看:

cryptsetup luksDump

插入yubikey并运行yubikey-luks-enroll脚本。 该脚本要求一个新密码,这是密码,现在发送到yubikey生成代理服务器,您将在启动时使用。

完成

活着!


启动屏幕欢迎您的提示,插入yubikey。 你也可以使用旧的密码


数据从Yubikey检索。


成功!

结论

引导钩子被修改,以便您可以使用通常的密码登录,也可以使用Yubikey登录新的密码,从而增加不受信任环境的安全性。

这两个因素的身份验证管理系统privacyIDEA提供了管理几个yubikeys并将这些Yubikeys分配给不同的客户机器的方法。 敬请关注!

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏