OpenSSH已经初步支持两因素身份验证

A2F OpenSSH

OpenSSH一组允许加密通信的应用程序 通过网络使用SSH协议 增加了对两因素身份验证的实验性支持 使用支持FIDO联盟开发的U2F协议的设备将其代码添加到其代码库中。

对于那些不知道的人 U2F, 他们应该知道,这是制作低成本硬件安全令牌的开放标准。 这些是用户获得硬件支持的密钥对的最便宜的方式,并且 有很多制造商 谁卖的,包括分别是Yubico,Feitian,Thetis和Kensington。

硬件支持的密钥的优点是难以窃取:攻击者通常必须窃取物理令牌(或至少对其进行持久访问)才能窃取密钥。

由于可以通过多种方式与U2F设备进行通信,包括USB,蓝牙和NFC,因此我们不希望将OpenSSH加载到大量的依赖关系中,而是将与令牌通信的任务委托给了一个小型用户。易于加载的中间件库,类似于现有的PKCS#11支持。

OpenSSH现在具有实验性的U2F / FIDO支持,使用U2F作为新的密钥类型添加 sk-ecdsa-sha2-nistp256@openssh.comECDSA-SK“简称”(“ sk”代表“安全密钥”)。

与令牌交互的过程已移至中间库,以类比方式加载了支持PKCS#11的库,并且是libfido2库上的链接,该库提供了通过USB与令牌进行通信的方式(FIDO U2F / CTAP 1和FIDO 2.0 / CTAP 2)。

图书馆 媒介物 libsk-libfido2 由OpenSSH开发人员准备 包含在libfido2内核中,以及用于OpenBSD的HID驱动程序。

要启用U2F, 可以使用来自OpenSSH存储库的代码库的新部分 以及libfido2库的HEAD分支,该库已经包含OpenSSH的必要层。 Libfido2支持在OpenBSD,Linux,macOS和Windows上工作。

我们已经为Yubico的libfido2编写了一个基本的中间件,该中间件能够与任何标准的USB HID U2F或FIDO2令牌对话。 中间件。 源代码托管在libfido2树中,因此使用OpenSSH HEAD进行构建足以使您入门

必须将公共密钥(id_ecdsa_sk.pub)复制到服务器中的authorized_keys文件中。 在服务器端,仅验证数字签名,并在客户端完成与令牌的交互(服务器上不需要安装libsk-libfido2,但是服务器必须支持密钥类型“ ecdsa-sk»”)。

生成的私钥(ecdsa_sk_id)本质上是一个密钥描述符,仅与存储在U2F令牌侧的秘密序列结合才能形成真实密钥。

如果钥匙 ecdsa_sk_id 落入攻击者的手中,进行身份验证时,他还需要访问硬件令牌,否则,没有必要使用id_ecdsa_sk文件中存储的私钥。

另外, 默认情况下,执行关键操作时 (在生成和身份验证期间), 需要本地确认用户的身体状态例如,建议触摸令牌上的传感器,这使得很难在连接令牌的系统上进行远程攻击。

在开始阶段 ssh-keygen,也可以设置其他密码 使用密钥访问文件。

可以将U2F密钥添加到 SSH代理 通过 ”ssh-add〜/ .ssh / id_ecdsa_sk“,但是 SSH代理 必须在关键支持下进行编译 ECDSA-SK,则必须存在libsk-libfido2层,并且代理必须在其附加了令牌的系统上运行。

添加了一种新的密钥 ECDSA-SK 自密钥格式 电子病历 OpenSSH与U2F格式的数字签名不同 ECDSA 由于存在其他字段。

如果您想了解更多 你可以咨询 以下链接。 


成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。