利用MagicEndpoint的FIDO-TPM创新技术保障SSH访问安全
SSH(安全外壳协议)是一种自1995年起使用的加密网络协议,由芬兰计算机科学家Tatu Ylönen为应对大学密码嗅探攻击而创建。如今,SSH已成为在不安全网络上进行安全通信的基础工具,广泛用于远程服务器管理、安全文件传输等场景。Linux和Windows服务器均支持SSH协议的主机端,同时也有对应的客户端实现。
Tatu的网络加密方案解决了密码嗅探攻击,但密码本身还存在其他问题:服务器访问中常共享密码导致缺乏"可追溯性",此外密码易被猜测、重复使用、遭受钓鱼攻击等。因此,大多数云提供商(如AWS、Google和Azure)默认禁用密码认证和root登录。
更安全的替代方案是使用非对称密钥,支持方式包括SSH密钥、SSH证书以及较新的FIDO密钥。这三种方法都涉及客户端保存的私钥(需保密不共享),对应公钥则配置在主机端。认证时客户端需加密证明拥有私钥而不泄露其内容,但每种方法都存在差异和挑战。
Windows SSH客户端的三种认证方式
SSH密钥
这类密钥是静态且需手动管理。设置公钥/私钥SSH访问涉及生成密钥对、配置SSH服务器接受密钥、定义默认密钥及使用命令行工具。这可能导致密钥泛滥和访问撤销困难。SSH密钥不会自动过期,若未在主机端手动设置时限或定期轮换/撤销,会构成安全风险。若密钥存储在客户端软件中(常见情况),可能被共享或复制到其他设备和用户,导致与共享密码相同的"可追溯性"缺失问题。
SSH证书
注意这不是TLS使用的X.509证书,而是专为SSH设计的证书。证书包含由可信证书颁发机构(CA)签名的公钥以及元数据(如用户/主机身份、过期日期和特定权限)。认证时服务器通过核对CA公钥验证证书签名,确保证书有效可信。管理是集中式的:证书由CA颁发和管理,虽增加开销但提供了明确的访问授予和撤销流程。注意:证书撤销会显著增加方案复杂性。证书有明确有效期,降低长期密钥泄露风险,但有效期越短管理开销越大。与SSH密钥类似,若私钥存储在客户端软件中,仍可能被共享、复制或盗取。
SSH FIDO密钥
FIDO(快速身份在线)密钥易于使用和管理,无需复杂设置或维护。无CA开销,在这方面更类似SSH密钥而非SSH证书。FIDO密钥不会过期,若存储在客户端软件中可能存在安全风险,但存在基于硬件的解决方案(如USB密钥)可保护并将密钥绑定至硬件,减轻共享、盗取或复制风险。缺点是便携硬件设备需单独管理生命周期,需采购、配送并在丢失或被盗时更换,可能导致在购买新密钥前无法访问。
解决方案
上述三种方式均存在密钥管理和保护问题。最佳解决方案是应用WinMagic MagicEndpoint已用于联邦认证在线Web应用的相同原则。用户登录MagicEndpoint应用后,唯一的用户设备(非对称)密钥变为"可访问",该用户设备代表用户向MagicEndpoint身份提供商(IdP)的身份。
对于SSH FIDO密钥,我们采用类似方法:用户在Windows设备本地认证后,SSH FIDO密钥变为"可访问",用户可无缝登录SSH主机。密钥存储在PC中,需使用时发送至计算机的TPM(可信平台模块)用于SSH FIDO认证。这就是"可访问"的含义:密钥通过TPM绑定至用户Windows设备,且从未以明文形式存在于TPM之外。用户可将加密的SSH FIDO密钥备份至云,但仅原始TPM可访问,彻底解决"可追溯性"、密钥盗取和共享问题,无需购买和部署独立FIDO硬件认证器的费用和麻烦。同一用户仍可从不同计算机访问同一主机,但会使用由该设备TPM保护的不同唯一用户设备密钥。
WinMagic的FIDO-TPM实现已获FIDO联盟认证:https://fidoalliance.org/certification/fido-certified-products/。
MagicEndpoint客户端提供直观用户友好方式,通过TPM和FIDO安全管理SSH密钥。
独立版亮点功能:
- 自动创建绑定TPM的默认FIDO SSH密钥
- 一键创建额外密钥
- 用户友好的密钥管理界面
- 密钥备份功能(密钥可安全备份保存至任何位置)
安全优势:
- 用户退出MagicEndpoint(或Windows账户)后,SSH密钥变为不可访问
- 支持同一设备多用户
兼容性:
支持PuTTY-CAC和微软原生OpenSSH命令行工具(“ssh”、“scp”、“sftp"和"SSH隧道”)。
该方案不仅简化SSH密钥管理和安全性,还增强常用SSH工具的可用性和兼容性。
企业版功能:
企业版解决主机端密钥生命周期问题。用户登录设备后(通常通过本地MFA),可无需用户操作访问SSH主机,如同访问所有Web应用。管理员拥有集中控制和可见性,用户无固定主机访问权限。需访问主机时,MagicEndpoint客户端无缝联系MagicEndpoint IdP,检查SSH主机访问控制列表,若用户应具访问权则动态在SSH主机注册用户及其公共SSH FIDO密钥。若用户不在访问控制列表中,密钥可动态拒绝提供。
探索中的可能功能:
- 密钥创建、删除和主机访问的集中日志记录
- 精细访问控制组
- 查看授予特定SSH主机访问权限的所有用户
- 查看用于访问SSH主机的所有终端设备
- 超时注销用户(终止端口22)
立即开始:
下载免费独立版试用:
- 免费下载:https://github.com/WinMagic/MagicEndpoint-FidoEazy
- 无用户操作保障SSH访问视频:https://youtu.be/_05ZIO6kS2Q
Garry McCracken
Garry拥有30多年数据通信和信息安全经验,参与开发WinMagic的桌面、笔记本电脑及其他移动设备全磁盘加密解决方案。