`
fly.net.cn
  • 浏览: 183515 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SSH通信协议浅析(认证)

    博客分类:
  • ssh
阅读更多
      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 和会话号计算出的水印和进行比较,如果相等,则认证通过。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics