[发明专利]一种可扩展的可信SSH的实现方法无效
申请号: | 201010222556.7 | 申请日: | 2010-06-30 |
公开(公告)号: | CN101888383A | 公开(公告)日: | 2010-11-17 |
发明(设计)人: | 常晓林;王绍创;藤莎;左向晖;韩臻;刘吉强 | 申请(专利权)人: | 北京交通大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32 |
代理公司: | 北京正理专利代理有限公司 11257 | 代理人: | 张文祎 |
地址: | 100044*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种可扩展的可信SSH的实现方法。本方法要求服务器端和客户端都配有可信安全芯片,并且安装了度量模块和可信操作系统,能够对各自平台状态进行度量。本方法通过在SSH传输子协议层定义三个新消息编码,并将SSH传输子协议层中密钥交换算法所计算的会话密钥作为可信计算远程证明的参数,来实现可信SSH通道。本方法实现的可信通道具有以下两个特性,一个是远程证明过程对密钥交换算法的透明性,另一个是通信双方的平台信息在网络传输过程中的秘密性。 | ||
搜索关键词: | 一种 扩展 可信 ssh 实现 方法 | ||
【主权项】:
1.一种可扩展的可信SSH的实现方法,其特征在于:在SSH传输子协议层定义三个新消息编码:SSH_MSG_RA_INIT、SSH_MSG_RA_OK和SSH_MSG_RA_ERROR,并将SSH传输子协议层中密钥交换算法所计算的会话密钥作为可信计算远程证明的参数,方法的具体步骤如下:步骤1,客户端首先生成一个Diffie-Hellman算法参数,记作e,然后客户端向服务器端发送一个带有SSH_MSG_KEXDH_INIT消息编码的消息,该消息只包含e;其中SSH_MSG_KEXDH_INIT是RFC 4253中定义的消息编码;步骤2,服务器端接到客户端的SSH_MSG_KEXDH_INIT消息后,首先生成一个Diffie-Hellman算法参数,记作f;然后服务器端根据e和f生成会话密钥,记作Skey;最后发送带有SSH_MSG_KEXDH_REPLY消息编码的消息给客户端并进入步骤3,该消息包含f和服务器端的签名信息;其中SSH_MSG_KEXDH_REPLY是RFC 4253中定义的消息编码;步骤3,服务器端对Skey进行SHA-1哈希运算,结果记为h_Skey,然后利用TPM中的
对字符串PCRs||h_Skey进行签名,签名结果记作signs,并用Skey作为对称加密密钥,对SMLs加密,结果记为Senc;最后发送带有SSH_MSG_RA_INIT消息编码的消息给客户端,该消息包含Senc、signs、
其中PCRs是安全芯片TPM中代表服务器端平台信息的PCR内容,||代表将两个字符串连接起来,
和
分别为服务器端AIK的私钥和公钥证书,SMLs表示服务器端平台的度量存储日志;步骤4,客户端收到服务器端的SSH_MSG_KEXDH_REPLY消息后,首先验证消息中的签名,如果签名不正确,则终止与服务器端通信;否则客户端也根据e和f生成了会话密钥,记作Ckey;进入步骤5;步骤5,客户端收到服务器端的SSH_MSG_RA_INIT消息后,首先验证
的有效性和合法性,如果验证没通过,则进入步骤6;如果验证通过,则利用
中的公钥
从signs中获得步骤3中的h_Skey和PCRs;然后对Ckey进行SHA-1哈希运算,结果记为h_Ckey,并判断h_Ckey和h_Skey是否匹配,如果不匹配,则进入步骤6;如果匹配,则利用Ckey解密Senc得到步骤3中的SMLs,根据SMLs重构服务器端的整个完整性度量过程,计算并得到最终值c_PCRs,并判断c_PCRs与PCRs是否匹配,如果不匹配,则进入步骤6;如果匹配,则进入步骤7;其中
为服务器端AIK的公钥;步骤6,客户端发送带有SSH_MSG_RA_ERROR消息编码的消息给服务器端并终止与服务器端通信;步骤7,客户端利用TPM中的
对PCRc||h_Ckey进行签名,签名结果记作signc;然后用Ckey作为对称加密密钥,对SMLc加密,结果记为Cenc;最后发送带有SSH_MSG_RA_INIT消息编码的消息给服务器端,该消息包含Cenc、signc、
其中PCRc是安全芯片TPM中代表客户端平台信息的PCR内容,
和
分别为客户端AIK的私钥和公钥证书,SMLc表示客户端平台的度量存储日志;步骤8,服务器端如果接到客户端带有SSH_MSG_RA_ERROR消息编码的消息,则结束运行;步骤9,服务器端收到客户端的SSH_MSG_RA_INIT消息后,首先验证
的有效性和合法性,如果验证没通过,则进入步骤10,如果验证通过,则利用
中的公钥
从signc中获得步骤7中的h_Ckey和PCRc;然后检查h_Ckey和h_Skey是否匹配,如果不匹配,则进入步骤10;如果匹配,则利用Skey解密Cenc得到步骤7中的SMLc根据SMLc重构客户端的整个完整性度量过程,计算并得到最终值c_PCRc,并判断c_PCRc与PCRc是否匹配,如果不匹配,则进入步骤10;如果匹配,则发送带有SSH_MSG_RA_OK消息编码的消息和带有SSH_MSG_NEWKEYS消息编码的消息给客户端,并进入步骤11;其中
为客户端AIK的公钥,SSH_MSG_NEWKEYS是RFC 4253中定义的消息编码,SSH_MSG_NEWKEYS是RFC 4253中定义的消息编码;步骤10,服务器端发送带有SSH_MSG_RA_ERROR消息编码的消息给客户端并终止与客户端通信;步骤11,客户端如果接到服务器端带有SSH_MSG_RA_ERROR消息编码的消息后,则结束运行;客户端如果接到服务器端带有SSH_MSG_RA_OK消息编码的消息,则发送带有SSH_MSG_NEWKEYS消息编码的信息给服务器端;步骤12,服务器端和客户端都接收到带有SSH_MSG_NEWKEYS消息编码的消息后,密钥交换过程结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京交通大学,未经北京交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010222556.7/,转载请声明来源钻瓜专利网。
- 上一篇:一种重轨滚动分钢装置
- 下一篇:干粉泵的拨粉机构