CN101834852B - 一种保护平台信息的可信OpenSSH的实现方法 - Google Patents
一种保护平台信息的可信OpenSSH的实现方法 Download PDFInfo
- Publication number
- CN101834852B CN101834852B CN 201010140901 CN201010140901A CN101834852B CN 101834852 B CN101834852 B CN 101834852B CN 201010140901 CN201010140901 CN 201010140901 CN 201010140901 A CN201010140901 A CN 201010140901A CN 101834852 B CN101834852 B CN 101834852B
- Authority
- CN
- China
- Prior art keywords
- trusted
- client
- hash
- sml
- pcr
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供了一种保护平台信息的可信OpenSSH的实现方法,方法的组件包括功能增强的会话密钥交换模块,方法的具体步骤如下,首先是可信客户端将自己的信息发送可信服务器端,然后可信服务器端根据收到的信息以及自己的信息生成会话密钥,同时将自己的信息、加密的可信服务器平台信息、包含有可信服务器平台信息的签名信息发送给可信客户端;可信客户端根据收到的信息生成会话密钥,同时验证服务器的签名信息,在验证通过后,将加密的可信客户平台信息以及包含有可信客户平台信息的签名信息发送给可信服务器端;最后可信服务器验证客户签名信息。本发明在实现可信信道的同时,保证了通信双方的平台信息在网络传输过程中的秘密性。
Description
技术领域
本发明涉及一种保护平台信息的可信OpenSSH的实现方法,属于计算机信息安全领域。
背景技术
SSH(Secure Shell)协议是IETF的网络工作小组制定了一个安全协议,用于保护客户端与服务器端之间传输的数据。SSH协议采用了分层结构设计,包括四个子协议:SSH传输层子协议、用户认证子协议、连接子协议和文件传输子协议。客户端与服务器端利用SSH协议进行通信时,首先执行的是SSH传输层子协议,它负责在服务器和客户端建立安全信道,该子协议包括协议版本交换、参数协商(参数协商过程需要协商的内容包括密钥交换方法、身份认证算法、哈希算法、加密算法和压缩算法这五类)、会话密钥交换三个过程,该子协议运行结束后将协商出一个会话密钥,用于加密用户认证阶段的认证信息、连接阶段通信双方的通信数据和文件传输阶段通信双方的通信数据。OpenSSH是一个完整地实现了SSH协议的免费开源软件包。
计算机信息的安全问题很难单靠软件解决,为了解决现有PC机的不安全问题,从根本上提高其可信性,可信计算平台联盟TCPA(后来更名为TCG)提出通过增强现有的终端体系结构的安全性来保证整个系统的安全,核心思想是在硬件平台上引入具有安全存储和加密功能的可信平台模块(又称为可信芯片)TPM。可信计算平台以TPM为信任根,借助其他可信度量模块对系统平台配置进行度量,然后安全地将系统运行情况记录在TPM中的平台配置寄存器(PCR),同时在系统保存代表了被验证的可信平台的完整性度量历史的度量存储日志SML(storage measurement log)。远程用户根据SML和相关PCR值来判断该运行环境是否可信、某些环节是否出现安全问题,这一过程被称作远程证明。在TCG规范中,TPM使用身份证明密钥AIK(attestation identity key)来证明自己的身份,凡是经过AIK签名的实体,都表明已经经过TPM的处理。为了防止重放、篡改、假冒等攻击,远程证明要求被验证的一方要使用AIK对数据进行签名。
目前许多损害终端的攻击是通过注入恶意代码而不是通过损害安全信道来实施的,这造成了一个终端在与未知端点通信时,即使使用安全信道,仍然可能遭受一系列攻击。为解决该问题,北京交通大学常晓林设计了一个基于OpenSSH的可信信道(申请号201010100818.2,一种有效的可信OpenSSH的实现方法),但是在该专利所提供的方法中,通信双方的平台信息以明文方式传输,导致了通信双方平台信息的泄露。
发明内容
本发明的目的是提供一种保护平台信息的可信OpenSSH的实现方法,在实现可信信道的同时保证了通信双方的平台信息在网络传输过程中的秘密性。
本发明的技术方案为:
一种保护平台信息的可信OpenSSH的实现方法,方法的组件包括功能增强的会话密钥交换模块,方法的具体步骤如下:
步骤1,可信客户端确定三个变量min、n、max的值,然后发送给可信服务器端;
步骤2,可信服务器端根据收到的信息生成Diffie-Hellman公开密钥算法的全局公开参数p和g,然后发送给可信客户端;
步骤3,可信客户端收到p和g后,首先选择一个小于p且大于1的正整数x,然后计算kc=gxmodp,最后将kc发送给可信服务器端;其中kc为可信客户端生成的值;
步骤4,可信服务器端收到kc后,选择一个小于p且大于1的正整数y,计算ks=gymodp和ksc=(kc)ymodp,并用ksc作为对称加密密钥,对SMLs加密,结果记为enc(SMLs;ksc),并计算pn_string||PKAIK s||dh_string||kc||ks||ksc的哈希值hashs,然后可信服务器端根据自己策略选定PCR标号,用变量PCRs代表该PCR标号对应的TPM内部PCR的值,再利用TPM设备对hashs和PCRs进行签名,签名结果记作Quotes,最后可信服务器端将PKAIK s,ks,Quotes,enc(SMLs;ksc)发送给可信客户端;其中符号||表示链接,变量pn_string代表V_C||V_S||client_pn||server_pn,变量dh_string代表min||n||max||p||g,V_C和V_S分别代表可信客户端的标识符和可信服务器端的标识符,client_pn和server_pn分别代表可信客户端的参数协商结果和可信服务器端的参数协商结果,PKAIK s为可信服务器端AIK的公钥,ks为可信服务器端生成的值,Quotes为可信服务器端生成的签名信息,SMLs表示可信服务器端的平台度量存储日志;
步骤5,可信客户端收PKAIK s,ks,Quotes,enc(SMLs;ksc)后,首先计算kcs=(ks)xmod p并调用一个哈希计算模块来计算pn_string||PKAIK s||dh_string||kc||ks||kcs的哈希值hashcs;然后利用PKAIK s从Quotes中获得PCRs和hashs,并用kcs解密enc(SMLs;ksc),获得SMLs,然后根据SMLs和PCRs对可信服务器端平台进行验证,如果验证没通过,则终止与可信服务器端的通信,否则判断hashcs与hashs是否相等,如果验证不等,则终止与可信服务器端的通信,否则进入步骤6;
步骤6,可信客户端根据客户端策略选定PCR标号,用变量PCRc代表该PCR标号对应的TPM内部PCR的值,并计算pn_string||PKAIK c||dh_string||kc||ks||kcs的哈希值hashc,然后再利用TPM设备对hashc和PCRc进行签名,签名结果记作Quotec,并用kcs作为对称加密密钥,对SMLc加密,结果记为enc(SMLc;kcs),然后将PKAIK c,Quotec,enc(SMLc;kcs)组装成“会话密钥交换结束”数据包,发送给可信服务器端;其中SMLc表示客户端的平台度量存储日志,PKAIK c为可信客户端AIK的公钥,Quotec为客户端生成的签名信息;
步骤7,可信服务器端接收PKAIK c、Quotec和enc(SMLc;kcs)后,首先利用PKAIK c从Quotec中获得PCRc和hashc,并用ksc解密enc(SMLc;kcs),并调用一个哈希计算模块来计算pn_string||PKAIK c||dh_string||kc||ks||ksc的哈希值hashsc,然后根据SMLc和PCRc对可信客户端平台状态进行验证,如果验证没通过,则终止与可信客户端的通信,否则将hashc与hashsc进行比较,如果验证不匹配,则终止与可信客户端的通信,如果验证匹配,则进入步骤8;
步骤8,可信服务器端发送“会话密钥交换结束”数据包给可信客户端,结束密钥协商过程;
步骤9,可信客户端在接收到“会话密钥交换结束”数据包后,结束密钥协商过程。
附图说明
图1为实施了本发明提供的方法的会话密钥交换的流程图。
具体实施方式
本发明提供的方法在硬件上假设服务器和客户端都配有可信安全芯片TPM,而且服务器和客户端的BIOS都支持TPM;在软件上假设服务器和客户端安装了操作系统可信引导管理器,安装了支持硬件TPM和可信度量模快的可信操作系统,此外服务器和客户端安装了TPM软件协议栈(TrouSers)软件。本发明提供的方法在开源OpenSSH软件4.7版本和以上版本的具体实施步骤如下:
步骤1,根据图1右边客户端的流程图对可信客户端会话密钥交换处理模块进行修改。
步骤2,根据图1左边服务器端的流程图对可信服务器端密钥交换处理模块进行修改。
下面根据图1对可信服务器端与可信客户端之间的会话密钥交换的工作流程作详述:
步骤1,可信客户端确定三个变量min、n、max的值,然后发送给可信服务器端;
步骤2,可信服务器端根据收到的信息生成Diffie-Hellman公开密钥算法的全局公开参数p和g,然后发送给可信客户端;
步骤3,可信客户端收到p和g后,首先选择一个小于p且大于1的正整数x,然后计算kc=gxmodp,最后将kc发送给可信服务器端;其中kc为可信客户端生成的值;
步骤4,可信服务器端收到kc后,选择一个小于p且大于1的正整数y,计算ks=gymod p和ksc=(kc)ymodp,并用ksc作为对称加密密钥,对SMLs加密,结果记为enc(SMLs;ksc),并计算pn_string||PKAIK s||dh_string||kc||ks||ksc的哈希值hashs,然后可信服务器端根据自己策略选定PCR标号,用变量PCRs代表该PCR标号对应的TPM内部PCR的值,再利用TPM设备对hashs和PCRs进行签名,签名结果记作Quotes,最后可信服务器端将PKAIK s,ks,Quotes,enc(SMLs;ksc)发送给可信客户端;其中符号||表示链接,变量pn_string代表V_C||V_S||client_pn||server_pn,变量dh_string代表min||n||max||p||g,V_C和V_S分别代表可信客户端的标识符和可信服务器端的标识符,client_pn和server_pn分别代表可信客户端的参数协商结果和可信服务器端的参数协商结果,PKAIK s为可信服务器端AIK的公钥,ks为可信服务器端生成的值,Quotes为可信服务器端生成的签名信息,SMLs表示可信服务器端的平台度量存储日志;
步骤5,可信客户端收PKAIK s,ks,Quotes,enc(SMLs;ksc)后,首先计算kcs=(ks)xmodp并调用一个哈希计算模块来计算pn_string||PKAIK s||dh_string||kc||ks||kcs的哈希值hashcs;然后利用PKAIK s从Quotes中获得PCRs和hashs,并用kcs解密enc(SMLs;ksc),获得SMLs,然后根据SMLs和PCRs对可信服务器端平台进行验证,如果验证没通过,则终止与可信服务器端的通信,否则判断hashcs与hashs是否相等,如果验证不等,则终止与可信服务器端的通信,否则进入步骤6;
步骤6,可信客户端根据客户端策略选定PCR标号,用变量PCRc代表该PCR标号对应的TPM内部PCR的值,并计算pn_string||PKAIK c||dh_string||kc||ks||kcs的哈希值hashc,然后再利用TPM设备对hashc和PCRc进行签名,签名结果记作Quotec,并用kcs作为对称加密密钥,对SMLc加密,结果记为enc(SMLc;kcs),然后将PKAIK c,Quotec,enc(SMLc;kcs)组装成“会话密钥交换结束”数据包,发送给可信服务器端;其中SMLc表示客户端的平台度量存储日志,PKAIK c为可信客户端AIK的公钥,Quotec为客户端生成的签名信息;
步骤7,可信服务器端接收PKAIK c、Quotec和enc(SMLc;kcs)后,首先利用PKAIK c从Quotec中获得PCRc和hashc,并用ksc解密enc(SMLc;kcs),并调用一个哈希计算模块来计算pn_string||PKAIK c||dh_string||kc||ks||ksc的哈希值hashsc,然后根据SMLc和PCRc对可信客户端平台状态进行验证,如果验证没通过,则终止与可信客户端的通信,否则将hashc与hashsc进行比较,如果验证不匹配,则终止与可信客户端的通信,如果验证匹配,则进入步骤8;
步骤8,可信服务器端发送“会话密钥交换结束”数据包给可信客户端,结束密钥协商过程;
步骤9,可信客户端在接收到“会话密钥交换结束”数据包后,结束密钥协商过程。
通过上述方法,不但在服务器端和客户端建立了可信信道,而且保证了通信双方的平台信息在网络传输过程中的秘密性。
Claims (1)
1.一种保护平台信息的可信OpenSSH的实现方法,其特征在于:方法涉及的组件包括功能增强的会话密钥交换模块,方法的具体步骤如下:
步骤1,可信客户端确定三个变量min、n、max的值,然后发送给可信服务器端;
步骤2,可信服务器端根据收到的信息生成Diffie-Hellman公开密钥算法的全局公开参数p和g,然后发送给可信客户端;
步骤3,可信客户端收到p和g后,首先选择一个小于p且大于1的正整数x,然后计算kc=gxmodp,最后将kc发送给可信服务器端;其中kc为可信客户端生成的值;
步骤4,可信服务器端收到kc后,选择一个小于p且大于1的正整数y,计算ks=gymodp和ksc=(kc)ymodp,并用ksc作为对称加密密钥,对SMLs加密,结果记为enc(SMLs;ksc),并计算 的哈希值hashs,然后可信服务器端根据自己策略选定PCR标号,用变量PCRs代表该PCR标号对应的TPM内部PCR的值,再利用TPM设备对hashs和PCRs进行签名,签名结果记作Quotes,最后可信服务器端将 ks,Quotes,enc(SMLs;ksc)发送给可信客户端;其中符号||表示链接,变量pn_string代表V_C||V_S||client_pn||server_pn,变量dh_string代表min||n||max||p||g,V_C和V_S分别代表可信客户端的标识符和可信服务器端的标识符,client_pn和server_pn分别代表可信客户端的参数协商结果和可信服务器端的参数协商结果, 为可信服务器端AIK的公钥,ks为可信服务器端生成的值,Quotes为可信服务器端生成的签名信息,SMLs表示可信服务器端的平台度量存储日志;
步骤5,可信客户端收 ks,Quotes,enc(SMLs;ksc)后,首先计算kcs=(ks)xmodp并调用一个哈希计算模块来计算 的哈希值hashcs;然后利用 从Quotes中获得PCRs和hashs,并用kcs解密enc(SMLs;ksc),获得SMLs,然后根据SMLs和PCRs对可信服务器端平台进行验证,如果验证没通过,则终止与可信服务器端的通信,否则判断hashcs与hashs是否相等,如果验证不等,则终止与可信服务器端的通信,否则进入步骤6;
步骤6,可信客户端根据客户端策略选定PCR标号,用变量PCRc代表该PCR标号对应的TPM内部PCR的值,并计算 的哈希值hashc,然后再利用TPM设备对hashc和PCRc进行签名,签名结果记作 Quotec,并用kcs作为对称加密密钥,对SMLc加密,结果记为enc(SMLc;kcs),然后将 Quotec,enc(SMLc;kcs)组装成“会话密钥交换结束”数据包,发送给可信服务器端;其中SMLc表示客户端的平台度量存储日志, 为可信客户端AIK的公钥,Quotec为客户端生成的签名信息;
步骤7,可信服务器端接收 Quotec和enc(SMLc;kcs)后,首先利用 从Quotec中获得PCRc和hashc,并用ksc解密enc(SMLc;kcs),并调用一个哈希计算模块来计算 的哈希值hashsc,然后根据SMLc和PCRc对可信客户端平台状态进行验证,如果验证没通过,则终止与可信客户端的通信,否则将hashc与hashsc进行比较,如果验证不匹配,则终止与可信客户端的通信,如果验证匹配,则进入步骤8;
步骤8,可信服务器端发送“会话密钥交换结束”数据包给可信客户端,结束密钥协商过程;
步骤9,可信客户端在接收到“会话密钥交换结束”数据包后,结束密钥协商过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010140901 CN101834852B (zh) | 2010-04-02 | 2010-04-02 | 一种保护平台信息的可信OpenSSH的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010140901 CN101834852B (zh) | 2010-04-02 | 2010-04-02 | 一种保护平台信息的可信OpenSSH的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101834852A CN101834852A (zh) | 2010-09-15 |
CN101834852B true CN101834852B (zh) | 2013-01-30 |
Family
ID=42718783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010140901 Expired - Fee Related CN101834852B (zh) | 2010-04-02 | 2010-04-02 | 一种保护平台信息的可信OpenSSH的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101834852B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098397A (zh) * | 2011-02-28 | 2011-06-15 | 北京交通大学 | 一种基于ZRTP密钥交换的VoIP媒体流可信传输的实现方法 |
CN102137103A (zh) * | 2011-03-09 | 2011-07-27 | 北京交通大学 | 通过扩展MIKEY协议实现VoIP媒体流可信传输的方法 |
US8171525B1 (en) * | 2011-09-15 | 2012-05-01 | Google Inc. | Enabling users to select between secure service providers using a central trusted service manager |
CN105791402B (zh) * | 2016-03-02 | 2019-02-22 | 付宏伟 | 一种云计算平台网络虚拟化实现方法及相应插件和代理 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217549A (zh) * | 2008-01-17 | 2008-07-09 | 赵运磊 | 高效、不可锻造、不需数字签名的ssh运输层认证协议 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296825B2 (en) * | 2004-05-31 | 2012-10-23 | Telecom Italia S.P.A. | Method and system for a secure connection in communication networks |
-
2010
- 2010-04-02 CN CN 201010140901 patent/CN101834852B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217549A (zh) * | 2008-01-17 | 2008-07-09 | 赵运磊 | 高效、不可锻造、不需数字签名的ssh运输层认证协议 |
Non-Patent Citations (1)
Title |
---|
文自勇等.基于OpenSSH实现Windows与Linux 平台间的安全文件传输.《成都信息工程学院学报》.2005,第20卷(第4期),第469-474页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101834852A (zh) | 2010-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10484365B2 (en) | Space-time separated and jointly evolving relationship-based network access and data protection system | |
Nyangaresi et al. | Trusted authority based session key agreement and authentication algorithm for smart grid networks | |
CN103595530B (zh) | 软件密钥更新方法和装置 | |
Bhatia et al. | Data security in mobile cloud computing paradigm: a survey, taxonomy and open research issues | |
CN111949602B (zh) | 一种支持完整性验证的外包数据安全迁移方法与系统 | |
CN103888251A (zh) | 一种云环境中虚拟机可信保障的方法 | |
Obert et al. | Recommendations for trust and encryption in DER interoperability standards | |
CN101741842A (zh) | 一种基于可信计算实现可信ssh的方法 | |
Frymann et al. | Asynchronous remote key generation: An analysis of yubico's proposal for W3C webauthn | |
CN101241528A (zh) | 终端接入可信pda的方法和接入系统 | |
Shen et al. | Toward data privacy preservation with ciphertext update and key rotation for IoT | |
CN112733129B (zh) | 一种服务器带外管理的可信接入方法 | |
CN101789939B (zh) | 一种有效的可信OpenSSH的实现方法 | |
Kumar et al. | TPA auditing to enhance the privacy and security in cloud systems | |
CN111241492A (zh) | 一种产品多租户安全授信方法、系统及电子设备 | |
Cairns et al. | Security analysis of the W3C web cryptography API | |
Mumtaz et al. | An RSA based authentication system for smart IoT environment | |
CN101834852B (zh) | 一种保护平台信息的可信OpenSSH的实现方法 | |
US8954728B1 (en) | Generation of exfiltration-resilient cryptographic keys | |
Truong et al. | Improved Chebyshev Polynomials‐Based Authentication Scheme in Client‐Server Environment | |
CN101888383B (zh) | 一种可扩展的可信ssh的实现方法 | |
CN102098397A (zh) | 一种基于ZRTP密钥交换的VoIP媒体流可信传输的实现方法 | |
Chen et al. | A New Identity Authentication and Key Agreement Protocol Based on Multi-Layer Blockchain in Edge Computing | |
CN106230595B (zh) | 一种可信平台控制模块的授权协议 | |
Chen et al. | The RFID mutual authentication scheme based on ECC and OTP authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130130 Termination date: 20140402 |