在Hare中实现SSH代理
内容提要
本文介绍了在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私钥。