在Hare中实现SSH代理

💡 原文英文,约4500词,阅读约需17分钟。
📝

内容提要

本文介绍了在Himitsu中实现SSH代理的过程,重点讲解了如何在Hare中从头实现SSH原语,包括OpenSSH私钥格式的解码、私钥解密及签名验证。Himitsu作为密码管理器,能够存储SSH私钥并提供代理功能,未来计划扩展支持更多密钥类型和加密算法。

🎯

关键要点

  • Himitsu是一个密码管理器,能够存储SSH私钥并提供代理功能。

  • 在Hare中实现SSH代理需要从头实现多个SSH原语,包括OpenSSH私钥格式的解码、私钥解密和签名验证。

  • OpenSSH私钥格式是私有的,主要通过逆向工程OpenSSH的C代码获取细节。

  • 实现PEM格式解码器是读取OpenSSH私钥的第一步,Hare的标准库提供了相关功能。

  • 私钥数据使用bcrypt作为密钥派生函数,并通过AES 256位CTR模式加密。

  • Hare中已经支持AES和CTR,加上bcrypt的实现,完成了私钥的解密过程。

  • 解密后的私钥包含多个字段,包括密钥类型、公钥和私钥数据。

  • 实现签名和签名验证相对简单,使用RFC 8709标准化的ed25519签名格式。

  • SSH代理协议是标准化的,使用SSH线格式进行消息传递。

  • Himitsu计划扩展支持更多密钥类型和加密算法,未来将实现SSH连接协议。

延伸问答

Himitsu是什么?

Himitsu是一个密码管理器,能够存储SSH私钥并提供代理功能。

在Hare中实现SSH代理需要哪些步骤?

需要实现多个SSH原语,包括OpenSSH私钥格式的解码、私钥解密和签名验证。

OpenSSH私钥格式的解码是如何进行的?

解码过程涉及实现PEM格式解码器,并通过逆向工程OpenSSH的C代码获取细节。

Hare中如何解密私钥数据?

私钥数据使用bcrypt作为密钥派生函数,并通过AES 256位CTR模式加密进行解密。

Himitsu未来有什么扩展计划?

Himitsu计划扩展支持更多密钥类型和加密算法,未来将实现SSH连接协议。

如何在Himitsu中导入SSH私钥?

用户可以通过“hissh-import”工具从OpenSSH的私钥格式导入SSH私钥。

➡️

继续阅读