安全文件传输软件G2SSL的设计文档.docVIP

安全文件传输软件G2SSL的设计文档.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
安全文件传输软件G2SSL的设计文档

安全文件传输软件G2SSL设计文档 计算机网络安全技术 第二小组 孔祥震 张闰华 陈志博 苗银军 闫兆乾 目 录 一、基本流程和协议交互设计 3 1、密钥对生成和传递 3 2、客户端和服务器的双向认证 4 3、会话密钥协商过程 4 4、数据的加密传输和完整性保证 5 二、系统实现工具—Microsoft CryptoAPI 5 三、软件的详细设计实现 7 1、密钥对生成的详细设计实现 7 2、认证过程的详细设计实现 8 3、会话密钥协商过程的详细设计实现 10 4、文件数据加密传输和完整性保护过程的详细设计实现 10 四、软件使用说明和运行界面介绍 11 参考文献 17 一、基本流程和协议交互设计 1、密钥对生成和传递 客户端和服务器端分别产生各自的一对用于数字签名的公私密钥对,并把自己的公钥分发给对方,以便对方验证自己的签名。公钥的分发可以通过带外的方式(由客户端和服务器之间直接物理拷贝)。或者通过信任一个共同的证书机构CA,通过CA签名的证书来完成公钥的分发。由于这要求有一个双方都信任的第三方CA来保证公钥和持有者的对应,因此密钥分发的步骤没有在本软件中实现,使用者可以通过拷贝方式来分发公钥。 另外,服务器还需要产生一对用于会话密钥协商的公私钥对,并将公钥通过带外或证书方式分发给客户端。 图1 G2SSL协议交互过程 2、客户端和服务器的双向认证 (1)基于数字签名的认证过程—认证客户端 认证客户端是必须的,认证服务器端是可选功能,由客户端决定是否进行服务器的认证。 认证客户端的主要流程是,首先客户端生成认证信息,包括:TS1||Client_nonce||Client_ID||AuthSrv_Mark||Signature,即:一个时间戳||客户端的临时交互号nonce||客户端标识||是否需要认证客户端标识||客户端对前四项数据的签名。 其中,时间戳用来防止消息的延迟传递;客户端产生的临时交互号nonce用来防止重放攻击,nonce的值于时间相关,在消息的起止时间内唯一,这样接收者可以保存临时交互号直到它过期,并拒绝接受其他具有相同临时交互号的新消息;客户端标识保证和证书中的一致;认证服务器标志用告诉服务器端是否还需要认证服务器;对前四项数据的签名,即对前四项数据先hash之后,再用客户端私钥对hash值进行加密。 服务器端用客户端的公钥对签名部分进行解密,并且对前四项数据进行hash,对比两个hash数据,如果相同,则认证成功,返回Auth_OK;否则认证失败,返回Auth_Fail。 (2)基于数字签名的认证过程—认证服务器 如果客户端认证消息中的AuthSrv_Mark=“YES”,则需要认证服务器端。服务器端生成的认证信息是:TS2||Server_nonce||Server_ID||Client_nonce||Signature,即:一个时间戳||服务器端的临时交互号nonce||服务器端标识||收到的客户端的临时交互号nonce||服务器对前四项数据的签名。 其中,前三项的功能不再重复。Client_nonce用来返回,接受客户端的验证。对前四项数据的签名,即对前四项数据先hash之后,再用服务器端私钥对hash值进行加密。 客户端收到此认证消息之后,用服务器端的公钥对签名部分进行解密,并对前四项数据进行hash,对比两个hash数据,如果相同,则认证成功,客户端再把收到的服务器端的nonce返回。否则,认证失败,返回Auth_Fail。 3、会话密钥协商过程 客户端生成会话密钥SKey,用事先获取的服务器端的密钥协商密钥对中的公钥,对会话密钥进行加密,再传输给服务器;服务器利用自己的密钥协商密钥对中的私钥进行解密,获取会话密钥SKey,并反馈给客户端成功或失败的信息。 4、数据的加密传输和完整性保证 本软件实现的主要是客户端向服务器端上传文件的功能。客户端先用上一步协商得到的会话密钥对数据进行加密,同时用Hash算法进行Hash,生成消息摘要。服务器端接收到之后,首先用会话密钥进行解密,然后对解密后的数据用同样的Hash算法生成消息摘要,如果消息摘要相同,说明数据在传输过程中没有被篡改,否则消息被篡改,完整性被破坏。 二、系统实现工具—Microsoft CryptoAPI 微软的CryptoAPI是PKI推荐使用的实现密码安全体系的API。其功能是为应用程序开发者提供在Win32环境下使用加密、验证等安全服务时的标准加密接口。 CryptoAPI是一组函数,为了完成数学计算,必须具有密码服务提供者模块(CSP)。Microsoft通过捆绑RSA Base Provider在操作系统级提供一个CSP,使用RSA公司的公钥加密算法,更多的CSP可以根据需要增加到应

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档