SSH通信协议浅析(认证)

本文介绍了RSA公钥和私钥的数据结构,并详细解析了RSA认证过程。客户端提交公钥的模数给服务器验证,服务器生成随机数并用公钥加密发送回客户端。客户端使用私钥解密后,计算并返回md5水印以完成认证。
      RSA公钥和RSA私钥 数据结构为:

      typedef struct

     {

           unsigned int bits; /* 模数大小 */

           MP_INT e; /* 公钥指数 */

           MP_INT n; /* 模数 */

      } RSAPublicKey;

     typedef struct

    {

            unsigned int bits; /* 模数大小 */

            MP_INT n; /* 模数 */

            MP_INT e; /* 公钥指数 */

            MP_INT d; /* 私钥指数 */

            MP_INT u; /* Multiplicative inverse of p mod q. */

            MP_INT p; /* 质数 p */

            MP_INT q; /* 质数 q */

        } RSAPrivateKey;

        RSA 认证的过程是,客户端向服务器提交自己 RSA公钥的模数成员,服务器先读取用户 .ssh 目录中的公钥文件进行有效性检验,再生成一个 256 位二进制随机数 cookie。随后把这个随机数 cookie 用从公钥文件读出的公钥加密后传给客户端,客户端接到 cookie 后,先用自己的私钥解密,再对这个 cookie 和会话号计算出 16 字节的 md5水印,把两个水印相加后发给服务器。服务器把它收到 md5水印和它自己对 cookie 和会话号计算出的水印和进行比较,如果相等,则认证通过。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值